@@ -41,12 +41,10 @@ public boolean write(OutputStream outputStream) throws SerializerException {
4141 throw new SerializerException (e );
4242 }
4343 out = new PrintWriter (outputStream );
44- out .println ("var model = [" );
44+ out .println ("[" );
4545 writeGeometries ();
4646 out .println ();
47- out .println ("];" );
48- out .println ();
49- out .println ("postMessage( model );" );
47+ out .println ("]" );
5048 out .flush ();
5149
5250 setMode (Mode .FINISHED );
@@ -55,29 +53,15 @@ public boolean write(OutputStream outputStream) throws SerializerException {
5553 return false ;
5654 }
5755 }
58-
59- private String colorFromClass (Class ifcClass ) {
60- if (ifcClass == IfcWallStandardCase .class ) {
61- return "0xFF4400" ;
62- } else if (ifcClass == IfcDoor .class ) {
63- return "0xFAFAFA" ;
64- } else if (ifcClass == IfcWindow .class ) {
65- return "0xCCFFFF" ;
66- } else if (ifcClass == IfcOpeningElement .class ) {
67- return "0x086CA2" ;
68- } else {
69- return "0x000000" ;
70- }
71- }
7256
7357 private void writeGeometry (SetGeometryResult geometry , IfcRoot ifcRoot ) {
7458
75- out .println (" 'id' : '" + ifcRoot .getGlobalId ().getWrappedValue () + "' , " );
76- out .println (" ' type' : '" + ifcRoot .eClass ().getName ().toUpperCase () + "' , " );
77- out .println (" ' geometry' : {" );
78- out .println (" 'version' : 2 , " );
79- out .println (" ' materials' : []," );
80- out .print (" ' vertices' : [ " );
59+ out .println (" \" id \" : \" " + ifcRoot .getGlobalId ().getWrappedValue () + "\" , " );
60+ out .println (" \" type\" : \" " + ifcRoot .eClass ().getName ().toUpperCase () + "\" , " );
61+ out .println (" \" geometry\" : {" );
62+ out .println (" \" metadata \" : { \" formatVersion \" : 3 } , " );
63+ out .println (" \" materials\" : []," );
64+ out .print (" \" vertices\" : [ " );
8165
8266 List <Float > vertices = geometry .getBinaryVertexBuffer ().getVertices ();
8367 if (vertices != null && vertices .size () > 0 ) {
@@ -88,8 +72,8 @@ private void writeGeometry(SetGeometryResult geometry, IfcRoot ifcRoot) {
8872 }
8973 }
9074
91- out .println (" ], " );
92- out .print (" ' normals' : [" );
75+ out .println (" ], " );
76+ out .print (" \" normals\" : [" );
9377
9478 List <Float > normals = geometry .getBinaryVertexBuffer ().getNormals ();
9579 if (normals != null && normals .size () > 0 ) {
@@ -100,10 +84,10 @@ private void writeGeometry(SetGeometryResult geometry, IfcRoot ifcRoot) {
10084 }
10185 }
10286
103- out .println (" ]," );
104- out .println (" 'color' : " + colorFromClass ( geometry . getIfcClass ()) + " ," );
105- out .println (" ' uvs': [ ]," );
106- out .print (" ' faces' : [ " );
87+ out .println (" ]," );
88+ out .println (" \" colors \" : [ ] ," );
89+ out .println (" \" uvs\" : [ ]," );
90+ out .print (" \" faces\" : [ " );
10791
10892 List <Integer > indices = geometry .getBinaryIndexBuffer ().getIndices ();
10993 if (indices != null && indices .size () > 0 ) {
@@ -116,7 +100,7 @@ private void writeGeometry(SetGeometryResult geometry, IfcRoot ifcRoot) {
116100 }
117101
118102 out .println (" ]" );
119- out .println (" }" );
103+ out .println (" }" );
120104 out .println ();
121105 }
122106
0 commit comments