5/16/2012 10:16:28 AM
Topic:
C++ Runtime Error
 Matthew3 Posts: 1819
|
Can you please share the following information to help debug your issue:
1. At what point during your application's lifecycle does the application crash? Startup? Initialization of the Java API JNI libraries? Loading a scenario?
2. If the crash is at initialization, can you provide a code snippet of the Java API initialization code you are using?
3. What version of STK and STK Engine are you using (note they must be the same)? Are the libraries (jar and JNI dlls) from the same version of STK and STK Engine or from a previous version? Note that you must use the jar and JNI dlls shipped with the STK Engine / STK installation (1 to 1 mapping).
4. Can you set breakpoints in your IDE to step through code to try to determine what method call into the STK or STK Engine Java API may cause this issue?
5. When the crash occurs does the JVM create a error log in your "current working/running directory"? For instance....hs_err_pid####.log
Thank you
|
|
|
5/14/2012 6:22:28 PM
Topic:
JavaScript/WebGL Framework and Components
 Eric261 Posts: 14
|
Matt, That is great news. Let me digest what you posted and I'll post or email you some questions I have about the technology. Thanks, Eric
|
|
|
5/14/2012 2:15:14 PM
Topic:
Surface Mesh Batch
 AARON115 Posts: 4
|
I need to perform batching in order to render large coverage results, but would also like to drape on terrain. I tried to modify the TriangleMeshBatch example in the help documentation to create a SurfaceMeshBatch. In order for this to work properly we need to keep track of vertex indices for rendering separated triangles. I can keep track of the triangles and the indices however, the only option for setting a SurfaceMeshPrimitive is with a SurfaceTriangulatorResult. This is where it breaks down as there does not appear to be a way to provide the indices when you compute this result with a trianglulator. Has anyone come across a solution to this problem? Here is my SurfaceMeshBatch object:
public class SurfaceMeshBatch {
private readonly Color m_color; private readonly List<Cartesian> m_positions; //private readonly List<Cartesian> m_normals; private readonly List<int> m_indices; private int indexCounter = 0;
public SurfaceMeshBatch(Color color) { m_color = color; m_positions = new List<Cartesian>(); //m_normals = new List<Cartesian>(); m_indices = new List<int>(); }
/// <summary> /// Call this one or more times to add triangles to the mesh. /// </summary> public void Append(SurfaceTriangulatorResult triangles) { m_positions.AddRange(triangles.Positions); //m_normals.AddRange(triangles.Normals); //redo the index list System.Collections.ObjectModel.Collection<int> newIndex = new System.Collections.ObjectModel.Collection<int>(); for (int i = 0; i < triangles.Indices.Count; i++) { newIndex.Add(triangles.Indices + indexCounter); } indexCounter = newIndex.Max() + 1; m_indices.AddRange(newIndex); }
/// <summary> /// Call this once after all calls to Append(). /// </summary> public SurfaceMeshPrimitive Commit(CentralBody centralBody, PrimitiveManager primitives) {
SurfaceMeshPrimitive mesh = new SurfaceMeshPrimitive(SetHint.Infrequent); if (m_positions.Count > 0) { SurfaceTriangulatorResult trianglesResult = SurfacePolygonTriangulator.Compute(centralBody, m_positions); mesh.Set(trianglesResult); //need a way to track the indices //mesh.Set(m_positions, m_normals, m_indices); this is how you can do it with a TriangleMeshPrimitive mesh.ReferenceFrame = centralBody.FixedFrame;
mesh.Color = Color.FromArgb(m_color.R, m_color.G, m_color.B); mesh.Translucency = 0; primitives.Add(mesh); } return mesh; } }
|
|
|
5/14/2012 12:29:44 PM
Topic:
Extracting Manuever component
 Deepak15 Posts: 8
|
Thanks Daniel. I am extracting it from the controls...but i don't find it convenient if i want the cartesian components and spherical components then i have to set all of them as controls to extract or other wise have to calculate one of them separately
|
|
|
5/14/2012 11:53:29 AM
Topic:
JavaScript/WebGL Framework and Components
 Matthew60 Posts: 128
|
Eric,
I'm excited that you posted this question, because I actually have an answer you'll be excited to hear. The new WebGL globe you are referencing is now known as Cesium, AGI's main page for it is http://cesium.agi.com; where you can read more about it and see demos. It's still heavily in development. The development itself is one of the more interesting aspects of it. Cesium is an AGI funded open-source project, the first time AGI has ventured into full open-source development. You can get the code, follow it's progress, and even contribute back if you're so inclined; all through out GitHub page at https://github.com/AnalyticalGraphicsInc/cesium We're really excited about this new open development model and look forward to working with the community.
Now it's important to note that Cesium itself is nothing more than a globe and map engine. It's doesn't contain any of the AGI analysis we're known for. That's where STK and Components comes in. We plan for both STK and Components to support generating Cesium content out-of-the-box. This means that if you have a problem defined in AGI Components or STK on your server, you can stream down visualization and analysis to a Cesium thin web-client very easily. We're calling this new format (for now) CZML, which simply stands for Cesium Language. The format itself is also open, and we hope to eventually make it a new OGC standard, much like what happened with KML.
Cesium ingesting CZML on the client end combined with STK or Components on the back end makes it really easy to create new web applications that are leaps and bounds ahead of whats out there now.
Some additional random details:
1. While the project is open-source, AGI will be selling support and service based contracts for Cesium users that need it; but since I'm a developer, I don't know all of the gory details in that department. Cesium itself though, is 100% free and open source.
2. Insight3D isn't going anywhere, Cesium, being webGL based, is a fundamentally different form-factor so there is a definite need for both.
3. Sometime in the next few months (no firm date yet), we'll be releasing a new library as part of AGI Components that makes it easy to generate CZML from Components objects (such as Platform). We'll also be releasing a plug-in to STK that lets you generate CZML from STK scenarios as well.
I'm sure if I'm forgetting something, one of the other devs will jump in. We're extremely excited about this project, so if you have any other questions or want to discuss more specific requirements you have for your web-apps, please let us know. You can also contact me directly at mamato@agi.com if you have any specific questions that you'd rather not share with the general public.
Thanks,
Matt edited by Matthew60 on 5/14/2012
|
|
|
5/14/2012 11:30:09 AM
Topic:
JavaScript/WebGL Framework and Components
 Eric261 Posts: 14
|
Will we be able to migrate our Components-based applications to the new Javascript/WebGL framework that was blogged about back in April? The blog entry indicated that the example was created in STK and published to the WebGL framework, but I'm more interested in coverting my DGL and Insight3D work to the web via this new framework. I have been able to successfully create an XABP version of my software and it works great, but a truly thin, Javascript based solution would provide a more seamless integration with some existing software I'm trying to enhance.
|
|
|
5/14/2012 8:50:32 AM
Topic:
Extracting Manuever component
 Daniel355 Posts: 131
|
I looked at this with a colleague and it doesn't appear that there is a way to get that data directly. You are going to have to retrieve the data from the MCS Summary data provider then parse the returned data.
|
|
|
5/14/2012 7:07:09 AM
Topic:
How to selectively display objects in 3D window?
 Michael56 Administrator Posts: 2012
|
Through the STK GUI, you cannot turn on/off objects on a per 3D window basis. You can do this though using STK/CONNECT commands. If you are familiar with CONNECT, then take a look at the 'VO ObjectStateInWin' command.
|
|
|
5/14/2012 2:04:40 AM
Topic:
C++ Runtime Error
 Bee Chen Posts: 1
|
My Java application grab an instance of already running STK Desktop and invoke an integrated STK Engine upon startup. Data would be sent to Desktop for analysis calculation and later saved as scenario file. Scenario file would then be loaded into STK Engine for animation playback.
The integrated STK Engine keeps crashing, prompting Microsoft Visual C++ Runtime Library Error. Could it be a problem of desktop and engine accessing the same set of .dll?? This is because i didn't get the error after removing the codes for STK Desktop.
Not sure how should i trap the exception for more information since it is not thrown from java environment.
|
|
|
5/11/2012 11:00:17 PM
Topic:
How to selectively display objects in 3D window?
 Bharat Posts: 1
|
This might be a dumb question but I am still learning! So can somebody help me in figuring out how can I prevent a object in a scenario to show up in one particular 3D graphics window? Thanks!
|
|
|
5/11/2012 8:26:31 AM
Topic:
Undisplaying a set of links
 John1645 Posts: 70
|
Code sent to KRing this morning.
|
|
|
5/10/2012 3:15:13 PM
Topic:
Undisplaying a set of links
 Kevin139 Administrator Posts: 328
|
Sorry, I'm going to have to ask to see some code again. It's hard to follow what you've done and to guess where the problem might lie without seeing some code.
|
|
|
5/10/2012 3:12:30 PM
Topic:
Undisplaying a set of links
 John1645 Posts: 70
|
Except that the sensor volume draws correctly at the new location and all I changed was the collector (parent) location.
|
|
|
5/10/2012 2:39:31 PM
Topic:
Undisplaying a set of links
 Kevin139 Administrator Posts: 328
|
Makes sense. Glad to hear you were able to figure it out.
|
|
|
5/10/2012 2:35:33 PM
Topic:
Undisplaying a set of links
 John1645 Posts: 70
|
I think I found the problem. I created the sensor location and orientation relative to the original collector. Then I redefined the original collector location and orientation to the new waypoint path.
|
|
|
5/10/2012 2:14:38 PM
Topic:
Undisplaying a set of links
 Kevin139 Administrator Posts: 328
|
Can you share some code?
|
|
|
5/10/2012 2:13:08 PM
Topic:
Undisplaying a set of links
 John1645 Posts: 70
|
Yes
|
|
|
5/10/2012 1:54:14 PM
Topic:
Undisplaying a set of links
 Kevin139 Administrator Posts: 328
|
Hi John, Are you calling ApplyChanges (http://www.agi.com/resources/help/online/AGIComponents/Index.aspx?page=html/M_AGI_Foundation_Platforms_ServiceProviderDisplay_ApplyChanges.htm) after making your changes?
Kevin
|
|
|
5/10/2012 1:50:53 PM
Topic:
Undisplaying a set of links
 John1645 Posts: 70
|
I have multiple waypoint paths that I animate when the user selects one. The viewing opportunity "link" display is conditional based on the TimeIntervalCollection generated by a constraint evaluator. By pre-selecting a waypoint in my build, I can see that the links for each path can display correctly.
When I select a new waypoint path, I delete the LinkGraphics Extension, the AccessConstraintExtension, and the "link" entry as a ServiceProvider for the old waypoint path and then recreate them for the new waypoint path. The new display shows the links being drawn from the original waypoint path location (though not correct for that location either.)
Do I need to clear something else? Maybe redefine the original link display to be off?
|
|
|
5/10/2012 10:16:34 AM
Topic:
Astrogator: Adding constant acceleration to
 David Posts: 5
|
I tried you idea and noticed in Maneuver History report that: a) Engines do check total mass of vehicle (including fuel weight) which means acceleration changes with time (but force remains constant) b) Engine burns as long as there is any fuel
But you can go around this problem by setting Isp really high, this way you lose (almost) no fuel. So thank you for your idea it seems to work now as it should !
|
|
|