Hallo nochmal
Ich habe nun folgendes Problem beim auslesen der Geometry aus der Datenbank:
Die Geometry Attribute speichere ich als Text in der Datenbank, da es sich um ein TriangleStripArray handelt welches beliebig lang sein kann.
der String der Geomtry entspricht genau dem gleichen String wie beim Auslesen vor dem Speichern in der Datenbank. Den Text der aus der Datenbank geholt wird speichere ich so in der Shape:
Wenn ich nun die Shapes in einen SceneGraph stecke wird absolut nichts angezeigt...
Danke für eure Tipps!
Ich habe nun folgendes Problem beim auslesen der Geometry aus der Datenbank:
Die Geometry Attribute speichere ich als Text in der Datenbank, da es sich um ein TriangleStripArray handelt welches beliebig lang sein kann.
der String der Geomtry entspricht genau dem gleichen String wie beim Auslesen vor dem Speichern in der Datenbank. Den Text der aus der Datenbank geholt wird speichere ich so in der Shape:
Java:
if (shapeBean.getGeometryType().equals("TriangleStripArray")) {
GeometryBean geometryBean = ModelRetrieveDAO.getGeometry(shapeBean.getShapeID());
String coordinates = geometryBean.getCoordinates();
System.out.println("gelesen: " + coordinates);
double[] coordinatesArray = getCoordinates(coordinates);
int vertexCount = coordinatesArray.length;
TriangleStripArray quadArray = null;
if (vertexCount > 2) {
quadArray = new TriangleStripArray(vertexCount, TriangleStripArray.COORDINATES, new int[] { vertexCount });
for (int i = 0; i < vertexCount; i++) {
quadArray.setCoordinate(i, coordinatesArray);
}
}
if (quadArray != null) {
shape.setGeometry(quadArray);
//das benutze ich um die Geometry zu vergleichen, bzw diese Methode dient zum auslesen der Geometry beim Parsen des universums um die Geometry in die Datanbank speichern zu können
Geometry geometry = (Geometry) shape.getAllGeometries().nextElement();
GeometryArray geometryArray = (GeometryArray) geometry;
StringBuilder geometryStringBuilder = new StringBuilder();
int arrayLength = geometryArray.getValidVertexCount();
double[] coordinatesArray2 = new double[arrayLength];
for (int i = 0; i < arrayLength; i++) {
geometryArray.getCoordinate(i, coordinatesArray2);
double coordinateDouble = coordinatesArray2[i];
String coordinateString = Double.toString(coordinateDouble);
geometryStringBuilder.append(coordinateString + " ");
}
String geometryCoordinates = geometryStringBuilder.toString();
System.out.println("eingegeben: " + geometryCoordinates);
}
Wenn ich nun die Shapes in einen SceneGraph stecke wird absolut nichts angezeigt...
Danke für eure Tipps!