[x3d-public] X3DJSAIL, X3dToJava.xslt updates

John Carlson yottzumm at gmail.com
Sun Apr 22 23:48:04 PDT 2018


On Mon, Apr 23, 2018, 2:15 AM Don Brutzman <brutzman at nps.edu> wrote:

Ultimately, I think you'll have to go with separate classes as I have done,
but haven't tested recently.

b. Lots of work trying to get past the 64K method limit in compiled Java
> for very-large CAD and scan scenes.  Limited success, but the autogenerated
> code is highly modularized for large arrays and likely provides more
> coverage now.  Minor tuning on split values may continue.  Links and
> snippet follow.
>
>
> http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/overview-summary.html
>
> http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/package-summary.html
>
> http://x3dgraphics.com/examples/X3dForAdvancedModeling/javadoc/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.html
>
>
> http://x3dgraphics.com/examples/X3dForAdvancedModeling/AdditiveManufacturing/CleatClamp.java
>
>                 private float[] getCoordinate_11_27_point_15 ()
>                 {
>                         float[] value =
> {44.0423f,2.50799f,0.800294f,43.8924f,2.50799f,1.58088f,43.6466f,2.50799f,2.32254f,43.9513f,1.83688f,2.51659f,44.1587f,1.12054f,2.64868f,44.2636f,0.376604f,2.71555f,44.2636f,-0.376604f,2.71555f,44.1587f,-1.12054f,2.64868f,43.9513f,-1.83688f,2.51659f,44.0423f,-2.50799f,0.800294f,44.2176f,-1.83688f,1.71297f,44.38f,-1.83688f,0.86716f,44.0927f,-2.50799f,0.0f,44.0423f,-2.50799f,-0.800294f,44.38f,-1.83688f,-0.86716f,44.2176f,-1.83688f,-1.71297f,44.4389f,-1.12054f,-1.80287f,44.551f,-0.376604f,-1.84839f,44.551f,0.376604f,-1.84839f,44.4389f,1.12054f,-1.80287f,44.2176f,1.83688f,-1.71297f,44.38f,1.83688f,-0.86716f,44.4346f,1.83688f,0.0f,44.38f,1.83688f,0.86716f,44.2176f,1.83688f,1.71297f,44.4389f,1.12054f,1.80287f,44.551f,0.376604f,1.84839f,44.551f,-0.376604f,1.84839f,44.4389f,-1.12054f,1.80287f,44.6099f,-1.12054f,0.912673f,44.6674f,-1.12054f,0.0f,44.4346f,-1.83688f,0.0f,44.6099f,-1.12054f,-0.912673f,44.7263f,-0.376604f,-0.935713f,44.7263f,0.376604f,-0.935713f,44.6099f,1.12054f,-0.912673f,44.6674f,1.12054f,0.0f,44.6099f,1.12054f,0.912673f,44.7263f,0.376604f,0.935713f,44.7263f,-0.376604f,0.935713f,44.7852f,-0.376604f,0.0f,44.7852f,0.376604f,0.0f};
>                         return value;
>                 }
>
>                 /** Large attribute array: Coordinate point field,
> scene-graph level=11, element #27, 4326 total numbers made up of 1442
> 3-tuple values
>                  * Provide large array value via a separate method, in
> order to avoid 'code too large' Java compilation errors.
>                  * Individual Java methods (including aggregated
> initializations) are limited to 64KB.
>                  * @see
> https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
>                  * @see
> https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
>                  */
>                 private MFVec3fObject getCoordinate_11_27_point ()
>                 {
>                                 /* splitting up long array to improve
> readability */
>                                 MFVec3fObject Coordinate_11_27_point = new
> MFVec3fObject()
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_1()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_2()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_3()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_4()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_5()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_6()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_7()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_8()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_9()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_10()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_11()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_12()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_13()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_14()))
>                                 .append(new
> MFVec3fObject(getCoordinate_11_27_point_15()));
>
>                         return Coordinate_11_27_point;
>                 }
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180423/4c3ae34e/attachment-0001.html>


More information about the x3d-public mailing list