open-dis / open-dis-csharp Goto Github PK
View Code? Open in Web Editor NEWC# implementation of the IEEE-1278.1 Distributed Interactive Simulation (DIS) application protocol v6 and v7
License: BSD 2-Clause "Simplified" License
C# implementation of the IEEE-1278.1 Distributed Interactive Simulation (DIS) application protocol v6 and v7
License: BSD 2-Clause "Simplified" License
My team and I are working to try and create our own deadrecking formulas from java to c# since we haven't been able to find the applicable classes here. We are running into some issues since there doesn't seem to be an apache like library that would make the converstion much easier.
So my question here is does anyone know of such a library or is there any updates that are coming that will have these formulas set up? Thank you in advance.
If there are no plans for it at the moment, if we can figure out the proper conversion from java we may be able to contribute what we have. At the moment we are only using formula 4 though
In order to be able to manage multiple versions of DIS in a 3rd party application, the source "CSharpDis7" must be merged with the common library OpenDIS.
In order to achieve that, the CSharpDis7 must be changed/rewritten to conform with the common methods used in OpenDis.
C#: After doing the tutorials for EspduSender / EspduReceiver, I'm wondering what the next step to process the received PDU xml data to human readable form. Do I need to cross reference it with a database? Any suggestions highly appreciated.
From what I can tell there are multiple implementations of open dis C# in this repository. My head is spinning trying to figure out which one should be used.
e.g.
This is confusing as a maintainer and I'm guessing end users. Ideally we have at most two like the other language repositories; a dis6 and dis7 implementation.
The library does not include a way to convert orientation from NED (North East Down) to ECEF (Earth Centered, Earth Fixed). Would this be a welcome feature?
After cloning repo, upgrading to .NET8 release, and building the following error occurs in:
\open-dis-csharp\CsharpDis6\OpenDis\Enumerations\Entity.Information.Minefield\PaintScheme.cs
line 275 public byte[] ToByteArray() => BitConverter.GetBytes(ToByte());
CS0121 The call is ambiguous between the following methods or properties: 'BitConverter.GetBytes(Half)' and 'BitConverter.GetBytes(short)'
This may have been introduced in .NET 7 per the post below:
dotnet/runtime#79034
Recommend changing line to the following to support .NET 8 and past versions
public byte[] ToByteArray() => BitConverter.GetBytes((short)ToByte());
The there are file(s) in the DIS 7 implementation that appear to be missing. For example; the files in the DISnet.DataStreamUtilities namespace which don't appear to exist. Can one use the similar files in the OpenDis.Core name space or is the functionality implemented that is be implemented in the DISnet.DataStreamUtilities namespace need to be created?
This project could use a build pipeline to ensure proposed changes don't break the build.
For future work we should integrate a unit tests into the build pipeline.
I am creating Entity State PDUs using in the following manner:
{code}
// Serialize PDU to a big-endian stream
DataOutputStream dataOutputStream = new DataOutputStream(Endian.Big);
Pdu.MarshalAutoLengthSet(dataOutputStream);
// Send bytes
broadcastClient.Send(dataOutputStream.ConvertToBytes())
{code}
Wireshark is reporting that the packets are malformed. I have attached Wireshark packet capture screen shot images. I did notice the Capabilities parameters do not appear in the screenshots. It appears that the MarshalAutoLengthSet is not computing the length properly (143 bytes vs 144 bytes).
Thank you.
Hello,
Reading through the DIS7 standard, I found that DE Records under the DE Fire PDU are supposed to handle Directed Energy Precision Aimpoint records and Directed Energy Area Aimpoint records. I think I understand why the StandardVariableSelection was chosen, but I'm unsure as to why it can't implement the previously described records into there and why it's so different from something like VariableParameter.
Further, what was the reason for why PduHeaders were chosen? I'm assuming so that way additional PDUs would be sent out and received, but I'm not entirely sure. Say I wanted to include a new parameter within my DE Fire PDU without breaking the standard. How would I go about doing that?
Any help would be greatly appreciated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.