toxiclibs 0.9.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +5 -5
  2. data/.mvn/extensions.xml +1 -1
  3. data/.travis.yml +3 -4
  4. data/CHANGELOG.md +10 -1
  5. data/README.md +3 -3
  6. data/Rakefile +1 -2
  7. data/examples/attract_repel/attractor.rb +1 -1
  8. data/examples/attract_repel/particle.rb +1 -1
  9. data/examples/boolean_shapes.rb +9 -5
  10. data/examples/force_directed/node.rb +1 -1
  11. data/examples/inflate_mesh.rb +1 -1
  12. data/examples/model_align.rb +1 -1
  13. data/examples/physics_type.rb +1 -1
  14. data/examples/povmesh/ftest.rb +3 -3
  15. data/examples/toxiclibs_color_theme.rb +91 -0
  16. data/lib/toxiclibs/version.rb +2 -1
  17. data/lib/toxiclibs.jar +0 -0
  18. data/lib/toxiclibs.rb +54 -37
  19. data/pom.rb +20 -28
  20. data/pom.xml +39 -65
  21. data/src/main/java/module-info.java +22 -0
  22. data/src/{toxi → main/java/toxi}/color/AccessCriteria.java +0 -0
  23. data/src/{toxi → main/java/toxi}/color/AlphaAccessor.java +0 -0
  24. data/src/{toxi → main/java/toxi}/color/CMYKAccessor.java +0 -0
  25. data/src/{toxi → main/java/toxi}/color/CMYKDistanceProxy.java +0 -0
  26. data/src/{toxi → main/java/toxi}/color/ColorGradient.java +0 -0
  27. data/src/{toxi → main/java/toxi}/color/ColorList.java +2 -4
  28. data/src/{toxi → main/java/toxi}/color/ColorRange.java +0 -0
  29. data/src/{toxi → main/java/toxi}/color/ColorTheme.java +0 -0
  30. data/src/{toxi → main/java/toxi}/color/DistanceProxy.java +0 -0
  31. data/src/{toxi → main/java/toxi}/color/HSVAccessor.java +0 -0
  32. data/src/{toxi → main/java/toxi}/color/HSVDistanceProxy.java +0 -0
  33. data/src/{toxi → main/java/toxi}/color/HistEntry.java +0 -0
  34. data/src/{toxi → main/java/toxi}/color/Histogram.java +0 -0
  35. data/src/{toxi → main/java/toxi}/color/Hue.java +0 -0
  36. data/src/{toxi → main/java/toxi}/color/LuminanceAccessor.java +0 -0
  37. data/src/{toxi → main/java/toxi}/color/NamedColor.java +0 -0
  38. data/src/{toxi → main/java/toxi}/color/ProximityComparator.java +0 -0
  39. data/src/{toxi → main/java/toxi}/color/RGBAccessor.java +0 -0
  40. data/src/{toxi → main/java/toxi}/color/RGBDistanceProxy.java +0 -0
  41. data/src/{toxi → main/java/toxi}/color/ReadonlyTColor.java +0 -0
  42. data/src/{toxi → main/java/toxi}/color/TColor.java +0 -0
  43. data/src/{toxi → main/java/toxi}/color/TColorAdapter.java +4 -4
  44. data/src/{toxi → main/java/toxi}/color/ToneMap.java +0 -0
  45. data/src/{toxi → main/java/toxi}/color/theory/AnalogousStrategy.java +0 -0
  46. data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryRegistry.java +0 -0
  47. data/src/{toxi → main/java/toxi}/color/theory/ColorTheoryStrategy.java +0 -0
  48. data/src/{toxi → main/java/toxi}/color/theory/ComplementaryStrategy.java +0 -0
  49. data/src/{toxi → main/java/toxi}/color/theory/CompoundTheoryStrategy.java +0 -0
  50. data/src/{toxi → main/java/toxi}/color/theory/LeftSplitComplementaryStrategy.java +0 -0
  51. data/src/{toxi → main/java/toxi}/color/theory/MonochromeTheoryStrategy.java +0 -0
  52. data/src/{toxi → main/java/toxi}/color/theory/RightSplitComplementaryStrategy.java +0 -0
  53. data/src/{toxi → main/java/toxi}/color/theory/SingleComplementStrategy.java +0 -0
  54. data/src/{toxi → main/java/toxi}/color/theory/SplitComplementaryStrategy.java +0 -0
  55. data/src/{toxi → main/java/toxi}/color/theory/TetradTheoryStrategy.java +0 -0
  56. data/src/{toxi → main/java/toxi}/color/theory/TriadTheoryStrategy.java +0 -0
  57. data/src/{toxi → main/java/toxi}/data/csv/CSVAdapter.java +0 -0
  58. data/src/{toxi → main/java/toxi}/data/csv/CSVFieldMapper.java +0 -0
  59. data/src/{toxi → main/java/toxi}/data/csv/CSVListener.java +0 -0
  60. data/src/{toxi → main/java/toxi}/data/csv/CSVParser.java +0 -0
  61. data/src/{toxi → main/java/toxi}/data/feeds/AtomAuthor.java +2 -2
  62. data/src/{toxi → main/java/toxi}/data/feeds/AtomContent.java +3 -4
  63. data/src/{toxi → main/java/toxi}/data/feeds/AtomEntry.java +9 -13
  64. data/src/main/java/toxi/data/feeds/AtomFeed.java +91 -0
  65. data/src/{toxi → main/java/toxi}/data/feeds/AtomLink.java +3 -2
  66. data/src/{toxi → main/java/toxi}/data/feeds/RSSChannel.java +10 -11
  67. data/src/{toxi → main/java/toxi}/data/feeds/RSSEnclosure.java +3 -3
  68. data/src/{toxi → main/java/toxi}/data/feeds/RSSItem.java +11 -13
  69. data/src/{toxi → main/java/toxi}/data/feeds/util/EntityStripper.java +0 -0
  70. data/src/{toxi → main/java/toxi}/data/feeds/util/Iso8601DateAdapter.java +6 -7
  71. data/src/{toxi → main/java/toxi}/data/feeds/util/Rfc822DateAdapter.java +5 -6
  72. data/src/{toxi → main/java/toxi}/geom/AABB.java +8 -9
  73. data/src/{toxi → main/java/toxi}/geom/Axis3D.java +0 -0
  74. data/src/{toxi → main/java/toxi}/geom/AxisAlignedCylinder.java +0 -0
  75. data/src/{toxi → main/java/toxi}/geom/BernsteinPolynomial.java +0 -0
  76. data/src/{toxi → main/java/toxi}/geom/BezierCurve2D.java +0 -0
  77. data/src/{toxi → main/java/toxi}/geom/BezierCurve3D.java +0 -0
  78. data/src/{toxi → main/java/toxi}/geom/BooleanShapeBuilder.java +0 -0
  79. data/src/{toxi → main/java/toxi}/geom/BoxIntersector.java +0 -0
  80. data/src/{toxi → main/java/toxi}/geom/Circle.java +2 -2
  81. data/src/{toxi → main/java/toxi}/geom/CircleIntersector.java +0 -0
  82. data/src/{toxi → main/java/toxi}/geom/Cone.java +0 -0
  83. data/src/{toxi → main/java/toxi}/geom/ConvexPolygonClipper.java +0 -0
  84. data/src/{toxi → main/java/toxi}/geom/CoordinateExtractor.java +0 -0
  85. data/src/{toxi → main/java/toxi}/geom/Ellipse.java +0 -0
  86. data/src/{toxi → main/java/toxi}/geom/GMatrix.java +0 -0
  87. data/src/{toxi → main/java/toxi}/geom/GVector.java +0 -0
  88. data/src/{toxi → main/java/toxi}/geom/GlobalGridTesselator.java +0 -0
  89. data/src/{toxi → main/java/toxi}/geom/GridTesselator.java +0 -0
  90. data/src/{toxi → main/java/toxi}/geom/Intersector2D.java +0 -0
  91. data/src/{toxi → main/java/toxi}/geom/Intersector3D.java +0 -0
  92. data/src/{toxi → main/java/toxi}/geom/IsectData2D.java +0 -0
  93. data/src/{toxi → main/java/toxi}/geom/IsectData3D.java +0 -0
  94. data/src/{toxi → main/java/toxi}/geom/Line2D.java +1 -2
  95. data/src/{toxi → main/java/toxi}/geom/Line3D.java +1 -2
  96. data/src/{toxi → main/java/toxi}/geom/LineStrip2D.java +2 -2
  97. data/src/{toxi → main/java/toxi}/geom/LineStrip3D.java +2 -2
  98. data/src/{toxi → main/java/toxi}/geom/LocalGridTesselator.java +0 -0
  99. data/src/{toxi → main/java/toxi}/geom/Matrix3d.java +0 -0
  100. data/src/{toxi → main/java/toxi}/geom/Matrix4f.java +0 -0
  101. data/src/{toxi → main/java/toxi}/geom/Matrix4x4.java +0 -0
  102. data/src/{toxi → main/java/toxi}/geom/MatrixSizeException.java +0 -0
  103. data/src/{toxi → main/java/toxi}/geom/OctreeVisitor.java +0 -0
  104. data/src/{toxi → main/java/toxi}/geom/Origin3D.java +12 -6
  105. data/src/{toxi → main/java/toxi}/geom/Plane.java +3 -5
  106. data/src/{toxi → main/java/toxi}/geom/PlaneIntersector.java +0 -0
  107. data/src/{toxi → main/java/toxi}/geom/PointCloud3D.java +15 -12
  108. data/src/{toxi → main/java/toxi}/geom/PointOctree.java +0 -0
  109. data/src/{toxi → main/java/toxi}/geom/PointQuadtree.java +0 -0
  110. data/src/{toxi → main/java/toxi}/geom/Polygon2D.java +34 -45
  111. data/src/{toxi → main/java/toxi}/geom/PolygonClipper2D.java +0 -0
  112. data/src/{toxi → main/java/toxi}/geom/PolygonTesselator.java +0 -0
  113. data/src/{toxi → main/java/toxi}/geom/QuadtreeVisitor.java +0 -0
  114. data/src/{toxi → main/java/toxi}/geom/Quaternion.java +3 -5
  115. data/src/{toxi → main/java/toxi}/geom/Ray2D.java +4 -5
  116. data/src/{toxi → main/java/toxi}/geom/Ray3D.java +3 -5
  117. data/src/{toxi → main/java/toxi}/geom/Ray3DIntersector.java +0 -0
  118. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec2D.java +0 -0
  119. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec3D.java +0 -0
  120. data/src/{toxi → main/java/toxi}/geom/ReadonlyVec4D.java +0 -0
  121. data/src/{toxi → main/java/toxi}/geom/Rect.java +3 -5
  122. data/src/{toxi → main/java/toxi}/geom/Reflector3D.java +0 -0
  123. data/src/{toxi → main/java/toxi}/geom/Shape2D.java +0 -0
  124. data/src/{toxi → main/java/toxi}/geom/Shape3D.java +0 -0
  125. data/src/{toxi → main/java/toxi}/geom/SingularMatrixException.java +0 -0
  126. data/src/{toxi → main/java/toxi}/geom/SpatialBins.java +0 -0
  127. data/src/{toxi → main/java/toxi}/geom/SpatialIndex.java +0 -0
  128. data/src/{toxi → main/java/toxi}/geom/Sphere.java +3 -5
  129. data/src/{toxi → main/java/toxi}/geom/SphereIntersectorReflector.java +0 -0
  130. data/src/{toxi → main/java/toxi}/geom/Spline2D.java +12 -16
  131. data/src/{toxi → main/java/toxi}/geom/Spline3D.java +12 -16
  132. data/src/{toxi → main/java/toxi}/geom/SutherlandHodgemanClipper.java +0 -0
  133. data/src/{toxi → main/java/toxi}/geom/Triangle2D.java +4 -7
  134. data/src/{toxi → main/java/toxi}/geom/Triangle3D.java +5 -8
  135. data/src/{toxi → main/java/toxi}/geom/TriangleIntersector.java +0 -0
  136. data/src/{toxi → main/java/toxi}/geom/Vec2D.java +3 -3
  137. data/src/{toxi → main/java/toxi}/geom/Vec3D.java +4 -4
  138. data/src/{toxi → main/java/toxi}/geom/Vec4D.java +5 -5
  139. data/src/{toxi → main/java/toxi}/geom/VecMathUtil.java +0 -0
  140. data/src/{toxi → main/java/toxi}/geom/XAxisCylinder.java +0 -0
  141. data/src/{toxi → main/java/toxi}/geom/YAxisCylinder.java +0 -0
  142. data/src/{toxi → main/java/toxi}/geom/ZAxisCylinder.java +0 -0
  143. data/src/{toxi → main/java/toxi}/geom/mesh/BezierPatch.java +0 -0
  144. data/src/{toxi → main/java/toxi}/geom/mesh/BoxSelector.java +0 -0
  145. data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSTLColorModel.java +0 -0
  146. data/src/{toxi → main/java/toxi}/geom/mesh/DefaultSelector.java +0 -0
  147. data/src/{toxi → main/java/toxi}/geom/mesh/Face.java +0 -0
  148. data/src/{toxi → main/java/toxi}/geom/mesh/LaplacianSmooth.java +0 -0
  149. data/src/{toxi → main/java/toxi}/geom/mesh/MaterialiseSTLColorModel.java +0 -0
  150. data/src/{toxi → main/java/toxi}/geom/mesh/Mesh3D.java +0 -0
  151. data/src/{toxi → main/java/toxi}/geom/mesh/MeshIntersector.java +0 -0
  152. data/src/{toxi → main/java/toxi}/geom/mesh/OBJWriter.java +0 -0
  153. data/src/{toxi → main/java/toxi}/geom/mesh/PLYWriter.java +0 -0
  154. data/src/{toxi → main/java/toxi}/geom/mesh/PlaneSelector.java +0 -0
  155. data/src/{toxi → main/java/toxi}/geom/mesh/STLColorModel.java +0 -0
  156. data/src/{toxi → main/java/toxi}/geom/mesh/STLReader.java +0 -0
  157. data/src/{toxi → main/java/toxi}/geom/mesh/STLWriter.java +0 -0
  158. data/src/{toxi → main/java/toxi}/geom/mesh/SphereFunction.java +0 -0
  159. data/src/{toxi → main/java/toxi}/geom/mesh/SphericalHarmonics.java +0 -0
  160. data/src/{toxi → main/java/toxi}/geom/mesh/SuperEllipsoid.java +0 -0
  161. data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceFunction.java +0 -0
  162. data/src/{toxi → main/java/toxi}/geom/mesh/SurfaceMeshBuilder.java +0 -0
  163. data/src/{toxi → main/java/toxi}/geom/mesh/Terrain.java +0 -0
  164. data/src/{toxi → main/java/toxi}/geom/mesh/TriangleMesh.java +0 -0
  165. data/src/{toxi → main/java/toxi}/geom/mesh/Vertex.java +0 -0
  166. data/src/{toxi → main/java/toxi}/geom/mesh/VertexSelector.java +0 -0
  167. data/src/{toxi → main/java/toxi}/geom/mesh/WEFace.java +0 -0
  168. data/src/{toxi → main/java/toxi}/geom/mesh/WEMeshFilterStrategy.java +0 -0
  169. data/src/{toxi → main/java/toxi}/geom/mesh/WETriangleMesh.java +0 -0
  170. data/src/{toxi → main/java/toxi}/geom/mesh/WEVertex.java +0 -0
  171. data/src/{toxi → main/java/toxi}/geom/mesh/WingedEdge.java +2 -2
  172. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/CentroidSubdiv.java +0 -0
  173. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DisplacementSubdivision.java +0 -0
  174. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualDisplacementSubdivision.java +0 -0
  175. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/DualSubdivision.java +0 -0
  176. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/EdgeLengthComparator.java +0 -0
  177. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/FaceCountComparator.java +0 -0
  178. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointDisplacementSubdivision.java +0 -0
  179. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdiv.java +0 -0
  180. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/MidpointSubdivision.java +0 -0
  181. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NewSubdivStrategy.java +0 -0
  182. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/NormalDisplacementSubdivision.java +0 -0
  183. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/SubdivisionStrategy.java +0 -0
  184. data/src/{toxi → main/java/toxi}/geom/mesh/subdiv/TriSubdivision.java +0 -0
  185. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangle.java +0 -0
  186. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayTriangulation.java +5 -7
  187. data/src/{toxi → main/java/toxi}/geom/mesh2d/DelaunayVertex.java +0 -0
  188. data/src/{toxi → main/java/toxi}/geom/mesh2d/Voronoi.java +0 -0
  189. data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsCurve.java +0 -0
  190. data/src/{toxi → main/java/toxi}/geom/nurbs/BasicNurbsSurface.java +0 -0
  191. data/src/{toxi → main/java/toxi}/geom/nurbs/ControlNet.java +0 -0
  192. data/src/{toxi → main/java/toxi}/geom/nurbs/CurveCreator.java +0 -0
  193. data/src/{toxi → main/java/toxi}/geom/nurbs/CurveUtils.java +0 -0
  194. data/src/{toxi → main/java/toxi}/geom/nurbs/InterpolationException.java +0 -0
  195. data/src/{toxi → main/java/toxi}/geom/nurbs/KnotVector.java +0 -0
  196. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCreator.java +2 -2
  197. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsCurve.java +0 -0
  198. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsMeshCreator.java +0 -0
  199. data/src/{toxi → main/java/toxi}/geom/nurbs/NurbsSurface.java +0 -0
  200. data/src/{toxi → main/java/toxi}/image/util/Filter8bit.java +0 -0
  201. data/src/{toxi → main/java/toxi}/image/util/TiledFrameExporter.java +0 -0
  202. data/src/{toxi → main/java/toxi}/math/BezierInterpolation.java +0 -0
  203. data/src/{toxi → main/java/toxi}/math/CircularInterpolation.java +0 -0
  204. data/src/{toxi → main/java/toxi}/math/CosineInterpolation.java +0 -0
  205. data/src/{toxi → main/java/toxi}/math/DecimatedInterpolation.java +0 -0
  206. data/src/{toxi → main/java/toxi}/math/ExponentialInterpolation.java +0 -0
  207. data/src/{toxi → main/java/toxi}/math/InterpolateStrategy.java +0 -0
  208. data/src/{toxi → main/java/toxi}/math/Interpolation2D.java +0 -0
  209. data/src/{toxi → main/java/toxi}/math/LinearInterpolation.java +0 -0
  210. data/src/{toxi → main/java/toxi}/math/MathUtils.java +0 -0
  211. data/src/{toxi → main/java/toxi}/math/NonLinearScaleMap.java +0 -0
  212. data/src/{toxi → main/java/toxi}/math/ScaleMap.java +0 -0
  213. data/src/{toxi → main/java/toxi}/math/SigmoidInterpolation.java +0 -0
  214. data/src/{toxi → main/java/toxi}/math/SinCosLUT.java +0 -0
  215. data/src/{toxi → main/java/toxi}/math/ThresholdInterpolation.java +0 -0
  216. data/src/{toxi → main/java/toxi}/math/ZoomLensInterpolation.java +0 -0
  217. data/src/{toxi → main/java/toxi}/math/conversion/UnitTranslator.java +0 -0
  218. data/src/{toxi → main/java/toxi}/math/noise/PerlinNoise.java +0 -0
  219. data/src/{toxi → main/java/toxi}/math/noise/SimplexNoise.java +0 -0
  220. data/src/{toxi → main/java/toxi}/math/waves/AMFMSineWave.java +0 -0
  221. data/src/{toxi → main/java/toxi}/math/waves/AbstractWave.java +0 -0
  222. data/src/{toxi → main/java/toxi}/math/waves/ConstantWave.java +0 -0
  223. data/src/{toxi → main/java/toxi}/math/waves/FMHarmonicSquareWave.java +0 -0
  224. data/src/{toxi → main/java/toxi}/math/waves/FMSawtoothWave.java +0 -0
  225. data/src/{toxi → main/java/toxi}/math/waves/FMSineWave.java +0 -0
  226. data/src/{toxi → main/java/toxi}/math/waves/FMSquareWave.java +0 -0
  227. data/src/{toxi → main/java/toxi}/math/waves/FMTriangleWave.java +0 -0
  228. data/src/{toxi → main/java/toxi}/math/waves/SineWave.java +2 -2
  229. data/src/{toxi → main/java/toxi}/math/waves/Wave2D.java +0 -0
  230. data/src/{toxi → main/java/toxi}/math/waves/WaveState.java +0 -0
  231. data/src/{toxi → main/java/toxi}/music/scale/AbstractScale.java +0 -0
  232. data/src/{toxi → main/java/toxi}/music/scale/GenericScale.java +0 -0
  233. data/src/{toxi → main/java/toxi}/music/scale/MajorScale.java +0 -0
  234. data/src/{toxi → main/java/toxi}/newmesh/AttributedEdge.java +0 -0
  235. data/src/{toxi → main/java/toxi}/newmesh/AttributedFace.java +0 -0
  236. data/src/{toxi → main/java/toxi}/newmesh/IndexedTriangleMesh.java +70 -69
  237. data/src/{toxi → main/java/toxi}/newmesh/MeshAttributeCompiler.java +0 -0
  238. data/src/{toxi → main/java/toxi}/newmesh/MeshFaceNormalCompiler.java +0 -0
  239. data/src/{toxi → main/java/toxi}/newmesh/MeshUVCompiler.java +0 -0
  240. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexColorCompiler.java +0 -0
  241. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexCompiler.java +0 -0
  242. data/src/{toxi → main/java/toxi}/newmesh/MeshVertexNormalCompiler.java +0 -0
  243. data/src/{toxi → main/java/toxi}/newmesh/SpatialIndex.java +0 -0
  244. data/src/{toxi → main/java/toxi}/physics2d/ParticlePath2D.java +4 -3
  245. data/src/{toxi → main/java/toxi}/physics2d/ParticleString2D.java +2 -2
  246. data/src/{toxi → main/java/toxi}/physics2d/PullBackSpring2D.java +0 -0
  247. data/src/{toxi → main/java/toxi}/physics2d/VerletConstrainedSpring2D.java +0 -0
  248. data/src/{toxi → main/java/toxi}/physics2d/VerletMinDistanceSpring2D.java +0 -0
  249. data/src/main/java/toxi/physics2d/VerletParticle2D.java +449 -0
  250. data/src/main/java/toxi/physics2d/VerletPhysics2D.java +440 -0
  251. data/src/{toxi → main/java/toxi}/physics2d/VerletSpring2D.java +0 -0
  252. data/src/main/java/toxi/physics2d/behaviors/AttractionBehavior2D.java +211 -0
  253. data/src/{toxi → main/java/toxi}/physics2d/behaviors/ConstantForceBehavior2D.java +0 -0
  254. data/src/{toxi → main/java/toxi}/physics2d/behaviors/GravityBehavior2D.java +0 -0
  255. data/src/{toxi → main/java/toxi}/physics2d/behaviors/ParticleBehavior2D.java +0 -0
  256. data/src/{toxi → main/java/toxi}/physics2d/constraints/AngularConstraint.java +0 -0
  257. data/src/{toxi → main/java/toxi}/physics2d/constraints/AxisConstraint.java +0 -0
  258. data/src/{toxi → main/java/toxi}/physics2d/constraints/CircularConstraint.java +0 -0
  259. data/src/{toxi → main/java/toxi}/physics2d/constraints/MaxConstraint.java +0 -0
  260. data/src/{toxi → main/java/toxi}/physics2d/constraints/MinConstraint.java +0 -0
  261. data/src/{toxi → main/java/toxi}/physics2d/constraints/ParticleConstraint2D.java +0 -0
  262. data/src/{toxi → main/java/toxi}/physics2d/constraints/PolygonConstraint.java +0 -0
  263. data/src/{toxi → main/java/toxi}/physics2d/constraints/RectConstraint.java +0 -0
  264. data/src/{toxi → main/java/toxi}/physics3d/ParticlePath3D.java +4 -3
  265. data/src/{toxi → main/java/toxi}/physics3d/ParticleString3D.java +2 -2
  266. data/src/{toxi → main/java/toxi}/physics3d/PullBackSpring3D.java +0 -0
  267. data/src/{toxi → main/java/toxi}/physics3d/VerletConstrainedSpring3D.java +0 -0
  268. data/src/{toxi → main/java/toxi}/physics3d/VerletMinDistanceSpring3D.java +0 -0
  269. data/src/main/java/toxi/physics3d/VerletParticle3D.java +377 -0
  270. data/src/{toxi → main/java/toxi}/physics3d/VerletPhysics3D.java +0 -0
  271. data/src/{toxi → main/java/toxi}/physics3d/VerletSpring3D.java +0 -0
  272. data/src/{toxi → main/java/toxi}/physics3d/behaviors/AttractionBehavior3D.java +0 -0
  273. data/src/{toxi → main/java/toxi}/physics3d/behaviors/ConstantForceBehavior3D.java +0 -0
  274. data/src/{toxi → main/java/toxi}/physics3d/behaviors/GravityBehavior3D.java +0 -0
  275. data/src/{toxi → main/java/toxi}/physics3d/behaviors/ParticleBehavior3D.java +0 -0
  276. data/src/{toxi → main/java/toxi}/physics3d/constraints/AxisConstraint.java +1 -0
  277. data/src/{toxi → main/java/toxi}/physics3d/constraints/BoxConstraint.java +0 -0
  278. data/src/{toxi → main/java/toxi}/physics3d/constraints/CylinderConstraint.java +1 -0
  279. data/src/{toxi → main/java/toxi}/physics3d/constraints/MaxConstraint.java +1 -0
  280. data/src/{toxi → main/java/toxi}/physics3d/constraints/MinConstraint.java +1 -0
  281. data/src/{toxi → main/java/toxi}/physics3d/constraints/ParticleConstraint3D.java +0 -0
  282. data/src/{toxi → main/java/toxi}/physics3d/constraints/PlaneConstraint.java +0 -0
  283. data/src/{toxi → main/java/toxi}/physics3d/constraints/SoftBoxConstraint.java +38 -38
  284. data/src/{toxi → main/java/toxi}/physics3d/constraints/SphereConstraint.java +1 -0
  285. data/src/{toxi → main/java/toxi}/processing/ArrowModifier.java +0 -0
  286. data/src/{toxi → main/java/toxi}/processing/DashedLineModifier.java +0 -0
  287. data/src/{toxi → main/java/toxi}/processing/DeltaOrientationMapper.java +0 -0
  288. data/src/{toxi → main/java/toxi}/processing/Line2DRenderModifier.java +0 -0
  289. data/src/{toxi → main/java/toxi}/processing/MeshToVBO.java +0 -0
  290. data/src/{toxi → main/java/toxi}/processing/NormalMapper.java +0 -0
  291. data/src/{toxi → main/java/toxi}/processing/POVInterface.java +0 -0
  292. data/src/{toxi → main/java/toxi}/processing/POVMesh.java +0 -0
  293. data/src/{toxi → main/java/toxi}/processing/POVWriter.java +0 -0
  294. data/src/{toxi → main/java/toxi}/processing/RCOpaque.java +0 -0
  295. data/src/{toxi → main/java/toxi}/processing/RCTransp.java +0 -0
  296. data/src/{toxi → main/java/toxi}/processing/TextureBuilder.java +0 -0
  297. data/src/{toxi → main/java/toxi}/processing/Textures.java +0 -0
  298. data/src/{toxi → main/java/toxi}/processing/ToxiclibsSupport.java +3 -3
  299. data/src/{toxi → main/java/toxi}/processing/Tracing.java +0 -0
  300. data/src/{toxi → main/java/toxi}/processing/XYZNormalMapper.java +0 -0
  301. data/src/{toxi → main/java/toxi}/sim/automata/CAMatrix.java +0 -0
  302. data/src/{toxi → main/java/toxi}/sim/automata/CARule.java +0 -0
  303. data/src/{toxi → main/java/toxi}/sim/automata/CARule2D.java +0 -0
  304. data/src/{toxi → main/java/toxi}/sim/automata/CAWolfram1D.java +0 -0
  305. data/src/{toxi → main/java/toxi}/sim/automata/EvolvableMatrix.java +0 -0
  306. data/src/{toxi → main/java/toxi}/sim/automata/MatrixEvolver.java +0 -0
  307. data/src/{toxi → main/java/toxi}/sim/dla/BottomUpOrder.java +0 -0
  308. data/src/{toxi → main/java/toxi}/sim/dla/DLA.java +0 -0
  309. data/src/{toxi → main/java/toxi}/sim/dla/DLAConfiguration.java +0 -0
  310. data/src/{toxi → main/java/toxi}/sim/dla/DLAEventAdapter.java +0 -0
  311. data/src/{toxi → main/java/toxi}/sim/dla/DLAEventListener.java +0 -0
  312. data/src/{toxi → main/java/toxi}/sim/dla/DLAGuideLines.java +0 -0
  313. data/src/{toxi → main/java/toxi}/sim/dla/DLAParticle.java +0 -0
  314. data/src/{toxi → main/java/toxi}/sim/dla/DLASegment.java +0 -0
  315. data/src/{toxi → main/java/toxi}/sim/dla/PipelineOrder.java +0 -0
  316. data/src/{toxi → main/java/toxi}/sim/dla/RadialDistanceOrder.java +0 -0
  317. data/src/{toxi → main/java/toxi}/sim/erosion/ErosionFunction.java +0 -0
  318. data/src/{toxi → main/java/toxi}/sim/erosion/TalusAngleErosion.java +0 -0
  319. data/src/{toxi → main/java/toxi}/sim/erosion/ThermalErosion.java +0 -0
  320. data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver2D.java +0 -0
  321. data/src/{toxi → main/java/toxi}/sim/fluids/FluidSolver3D.java +0 -0
  322. data/src/{toxi → main/java/toxi}/sim/grayscott/GrayScott.java +0 -0
  323. data/src/{toxi → main/java/toxi}/util/DateUtils.java +0 -0
  324. data/src/{toxi → main/java/toxi}/util/FileSequenceDescriptor.java +0 -0
  325. data/src/main/java/toxi/util/FileUtils.java +443 -0
  326. data/src/{toxi → main/java/toxi}/util/datatypes/ArraySet.java +0 -0
  327. data/src/{toxi → main/java/toxi}/util/datatypes/ArrayUtil.java +0 -0
  328. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedDoubleRange.java +3 -3
  329. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedFloatRange.java +2 -3
  330. data/src/{toxi → main/java/toxi}/util/datatypes/BiasedIntegerRange.java +3 -3
  331. data/src/{toxi → main/java/toxi}/util/datatypes/DoubleRange.java +3 -3
  332. data/src/{toxi → main/java/toxi}/util/datatypes/FloatRange.java +3 -3
  333. data/src/{toxi → main/java/toxi}/util/datatypes/GenericSet.java +0 -0
  334. data/src/{toxi → main/java/toxi}/util/datatypes/IntegerRange.java +3 -3
  335. data/src/{toxi → main/java/toxi}/util/datatypes/IntegerSet.java +0 -0
  336. data/src/{toxi → main/java/toxi}/util/datatypes/ItemIndex.java +0 -0
  337. data/src/{toxi → main/java/toxi}/util/datatypes/SingletonRegistry.java +0 -0
  338. data/src/{toxi → main/java/toxi}/util/datatypes/TypedProperties.java +0 -0
  339. data/src/{toxi → main/java/toxi}/util/datatypes/UndirectedGraph.java +0 -0
  340. data/src/{toxi → main/java/toxi}/util/datatypes/UniqueItemIndex.java +0 -0
  341. data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomEntry.java +0 -0
  342. data/src/{toxi → main/java/toxi}/util/datatypes/WeightedRandomSet.java +0 -0
  343. data/src/{toxi → main/java/toxi}/util/events/EventDispatcher.java +0 -0
  344. data/src/{toxi → main/java/toxi}/volume/AdditiveBrush.java +0 -0
  345. data/src/{toxi → main/java/toxi}/volume/ArrayIsoSurface.java +0 -0
  346. data/src/{toxi → main/java/toxi}/volume/BoxBrush.java +0 -0
  347. data/src/{toxi → main/java/toxi}/volume/BrushMode.java +0 -0
  348. data/src/{toxi → main/java/toxi}/volume/HashIsoSurface.java +0 -0
  349. data/src/{toxi → main/java/toxi}/volume/IsoSurface.java +0 -0
  350. data/src/{toxi → main/java/toxi}/volume/MarchingCubesIndex.java +0 -0
  351. data/src/{toxi → main/java/toxi}/volume/MeshLatticeBuilder.java +0 -0
  352. data/src/{toxi → main/java/toxi}/volume/MeshVoxelizer.java +0 -0
  353. data/src/{toxi → main/java/toxi}/volume/MultiplyBrush.java +0 -0
  354. data/src/{toxi → main/java/toxi}/volume/PeakBrush.java +0 -0
  355. data/src/{toxi → main/java/toxi}/volume/ReplaceBrush.java +0 -0
  356. data/src/{toxi → main/java/toxi}/volume/RoundBrush.java +0 -0
  357. data/src/{toxi → main/java/toxi}/volume/VolumetricBrush.java +0 -0
  358. data/src/{toxi → main/java/toxi}/volume/VolumetricHashMap.java +0 -0
  359. data/src/{toxi → main/java/toxi}/volume/VolumetricSpace.java +0 -0
  360. data/src/{toxi → main/java/toxi}/volume/VolumetricSpaceArray.java +0 -0
  361. data/src/test/java/module-info.java +10 -0
  362. data/src/{BooleanShapes.java → test/java/toxi/BooleanShapes.java} +2 -2
  363. data/toxiclibs.gemspec +7 -8
  364. metadata +357 -368
  365. data/.mvn/wrapper/maven-wrapper.properties +0 -1
  366. data/lib/args4j-2.0.31.jar +0 -0
  367. data/src/com/toxi/net/ClientListener.java +0 -41
  368. data/src/com/toxi/net/ServerListener.java +0 -70
  369. data/src/com/toxi/net/ServerListenerAdapter.java +0 -47
  370. data/src/com/toxi/net/ServerState.java +0 -18
  371. data/src/com/toxi/net/UDPConnection.java +0 -66
  372. data/src/com/toxi/net/UDPSyncClient.java +0 -81
  373. data/src/com/toxi/net/UDPSyncServer.java +0 -450
  374. data/src/com/toxi/nio/UDPClient.java +0 -121
  375. data/src/com/toxi/nio/UDPClientState.java +0 -32
  376. data/src/com/toxi/nio/UDPServer.java +0 -129
  377. data/src/toxi/data/feeds/AtomFeed.java +0 -129
  378. data/src/toxi/data/feeds/RSSFeed.java +0 -99
  379. data/src/toxi/physics2d/VerletParticle2D.java +0 -457
  380. data/src/toxi/physics2d/VerletPhysics2D.java +0 -448
  381. data/src/toxi/physics2d/behaviors/AttractionBehavior2D.java +0 -212
  382. data/src/toxi/physics3d/VerletParticle3D.java +0 -385
  383. data/src/toxi/util/FileUtils.java +0 -467
@@ -32,7 +32,7 @@ import java.util.Collections;
32
32
  import java.util.Iterator;
33
33
  import java.util.List;
34
34
 
35
- import javax.xml.bind.annotation.XmlElement;
35
+
36
36
 
37
37
  import toxi.geom.Line2D.LineIntersection;
38
38
  import toxi.geom.Line2D.LineIntersection.Type;
@@ -105,8 +105,8 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
105
105
  /**
106
106
  *
107
107
  */
108
- @XmlElement(name = "v")
109
- public List<Vec2D> vertices = new ArrayList<Vec2D>();
108
+
109
+ public List<Vec2D> vertices = new ArrayList<>();
110
110
 
111
111
  /**
112
112
  *
@@ -119,9 +119,9 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
119
119
  * @param points
120
120
  */
121
121
  public Polygon2D(List<Vec2D> points) {
122
- for (Vec2D p : points) {
122
+ points.forEach((p) -> {
123
123
  add(p.copy());
124
- }
124
+ });
125
125
  }
126
126
 
127
127
  /**
@@ -152,7 +152,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
152
152
  * vertex point to add
153
153
  * @return itself
154
154
  */
155
- public Polygon2D add(Vec2D p) {
155
+ public final Polygon2D add(Vec2D p) {
156
156
  if (!vertices.contains(p)) {
157
157
  vertices.add(p);
158
158
  }
@@ -178,12 +178,13 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
178
178
  public Polygon2D center(ReadonlyVec2D origin) {
179
179
  Vec2D centroid = getCentroid();
180
180
  Vec2D delta = origin != null ? origin.sub(centroid) : centroid.invert();
181
- for (Vec2D v : vertices) {
181
+ vertices.forEach((v) -> {
182
182
  v.addSelf(delta);
183
- }
183
+ });
184
184
  return this;
185
185
  }
186
186
 
187
+ @Override
187
188
  public boolean containsPoint(ReadonlyVec2D p) {
188
189
  int num = vertices.size();
189
190
  int i, j = num - 1;
@@ -209,12 +210,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
209
210
  * @return
210
211
  */
211
212
  public boolean containsPolygon(Polygon2D poly) {
212
- for (Vec2D p : poly.vertices) {
213
- if (!containsPoint(p)) {
214
- return false;
215
- }
216
- }
217
- return true;
213
+ return poly.vertices.stream().noneMatch((p) -> (!containsPoint(p)));
218
214
  }
219
215
 
220
216
  /**
@@ -270,6 +266,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
270
266
  *
271
267
  * @return polygon area
272
268
  */
269
+ @Override
273
270
  public float getArea() {
274
271
  float area = 0;
275
272
  for (int i = 0, num = vertices.size(); i < num; i++) {
@@ -282,6 +279,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
282
279
  return area;
283
280
  }
284
281
 
282
+ @Override
285
283
  public Circle getBoundingCircle() {
286
284
  return Circle.newBoundingCircle(vertices);
287
285
  }
@@ -292,6 +290,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
292
290
  * @return bounding rect
293
291
  * @see toxi.geom.Shape2D#getBounds()
294
292
  */
293
+ @Override
295
294
  public Rect getBounds() {
296
295
  return Rect.getBoundingRect(vertices);
297
296
  }
@@ -321,6 +320,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
321
320
  *
322
321
  * @see toxi.geom.Shape2D#getCircumference()
323
322
  */
323
+ @Override
324
324
  public float getCircumference() {
325
325
  float circ = 0;
326
326
  for (int i = 0, num = vertices.size(); i < num; i++) {
@@ -371,9 +371,10 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
371
371
  *
372
372
  * @return list of lines
373
373
  */
374
+ @Override
374
375
  public List<Line2D> getEdges() {
375
376
  int num = vertices.size();
376
- List<Line2D> edges = new ArrayList<Line2D>(num);
377
+ List<Line2D> edges = new ArrayList<>(num);
377
378
  for (int i = 0; i < num; i++) {
378
379
  edges.add(new Line2D(vertices.get(i), vertices.get((i + 1) % num)));
379
380
  }
@@ -404,6 +405,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
404
405
  *
405
406
  * @return Vec2D
406
407
  */
408
+ @Override
407
409
  public Vec2D getRandomPoint() {
408
410
  List<Line2D> edges = getEdges();
409
411
  int numEdges = edges.size();
@@ -459,13 +461,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
459
461
  * @return
460
462
  */
461
463
  protected boolean intersectsLine(Line2D l, List<Line2D> edges) {
462
- for (Line2D e : edges) {
463
- final Type isec = l.intersectLine(e).getType();
464
- if (isec == Type.INTERSECTING || isec == Type.COINCIDENT) {
465
- return true;
466
- }
467
- }
468
- return false;
464
+ return edges.stream().map((e) -> l.intersectLine(e).getType()).anyMatch((isec) -> (isec == Type.INTERSECTING || isec == Type.COINCIDENT));
469
465
  }
470
466
 
471
467
  /**
@@ -477,12 +473,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
477
473
  */
478
474
  public boolean intersectsPolygon(Polygon2D poly) {
479
475
  List<Line2D> edgesB = poly.getEdges();
480
- for (Line2D ea : getEdges()) {
481
- if (intersectsLine(ea, edgesB)) {
482
- return true;
483
- }
484
- }
485
- return false;
476
+ return getEdges().stream().anyMatch((ea) -> (intersectsLine(ea, edgesB)));
486
477
  }
487
478
 
488
479
  /**
@@ -492,12 +483,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
492
483
  */
493
484
  public boolean intersectsRect(Rect r) {
494
485
  List<Line2D> edges = r.getEdges();
495
- for (Line2D ea : getEdges()) {
496
- if (intersectsLine(ea, edges)) {
497
- return true;
498
- }
499
- }
500
- return false;
486
+ return getEdges().stream().anyMatch((ea) -> (intersectsLine(ea, edges)));
501
487
  }
502
488
 
503
489
  /**
@@ -539,6 +525,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
539
525
  *
540
526
  * @return
541
527
  */
528
+ @Override
542
529
  public Iterator<Vec2D> iterator() {
543
530
  return vertices.iterator();
544
531
  }
@@ -653,7 +640,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
653
640
  */
654
641
  public Polygon2D reduceVertices(float minEdgeLen) {
655
642
  minEdgeLen *= minEdgeLen;
656
- List<Vec2D> reduced = new ArrayList<Vec2D>();
643
+ List<Vec2D> reduced = new ArrayList<>();
657
644
  Vec2D prev = vertices.get(0);
658
645
  reduced.add(prev);
659
646
  int num = vertices.size() - 1;
@@ -705,9 +692,9 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
705
692
  * @return
706
693
  */
707
694
  public Polygon2D rotate(float theta) {
708
- for (Vec2D v : vertices) {
695
+ vertices.forEach((v) -> {
709
696
  v.rotate(theta);
710
- }
697
+ });
711
698
  return this;
712
699
  }
713
700
 
@@ -727,9 +714,9 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
727
714
  * @return
728
715
  */
729
716
  public Polygon2D scale(float x, float y) {
730
- for (Vec2D v : vertices) {
717
+ vertices.forEach((v) -> {
731
718
  v.scaleSelf(x, y);
732
- }
719
+ });
733
720
  return this;
734
721
  }
735
722
 
@@ -759,9 +746,9 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
759
746
  */
760
747
  public Polygon2D scaleSize(float x, float y) {
761
748
  Vec2D centroid = getCentroid();
762
- for (Vec2D v : vertices) {
749
+ vertices.forEach((v) -> {
763
750
  v.subSelf(centroid).scaleSelf(x, y).addSelf(centroid);
764
- }
751
+ });
765
752
  return this;
766
753
  }
767
754
 
@@ -794,7 +781,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
794
781
  public Polygon2D smooth(float amount, float baseWeight) {
795
782
  Vec2D centroid = getCentroid();
796
783
  int num = vertices.size();
797
- List<Vec2D> filtered = new ArrayList<Vec2D>(num);
784
+ List<Vec2D> filtered = new ArrayList<>(num);
798
785
  for (int i = 0, j = num - 1, k = 1; i < num; i++) {
799
786
  Vec2D a = vertices.get(i);
800
787
  Vec2D dir = vertices.get(j).sub(a).addSelf(vertices.get(k).sub(a))
@@ -863,7 +850,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
863
850
  public boolean toOutline() {
864
851
  int corners = vertices.size();
865
852
  int maxSegs = corners * 3;
866
- List<Vec2D> newVerts = new ArrayList<Vec2D>(corners);
853
+ List<Vec2D> newVerts = new ArrayList<>(corners);
867
854
  Vec2D[] segments = new Vec2D[maxSegs];
868
855
  Vec2D[] segEnds = new Vec2D[maxSegs];
869
856
  float[] segAngles = new float[maxSegs];
@@ -995,6 +982,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
995
982
  *
996
983
  * @return itself
997
984
  */
985
+ @Override
998
986
  public Polygon2D toPolygon2D() {
999
987
  return this;
1000
988
  }
@@ -1003,6 +991,7 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
1003
991
  *
1004
992
  * @return
1005
993
  */
994
+ @Override
1006
995
  public String toString() {
1007
996
  StringBuilder buf = new StringBuilder();
1008
997
  for (Iterator<Vec2D> i = vertices.iterator(); i.hasNext();) {
@@ -1021,9 +1010,9 @@ public class Polygon2D implements Shape2D, Iterable<Vec2D> {
1021
1010
  * @return
1022
1011
  */
1023
1012
  public Polygon2D translate(float x, float y) {
1024
- for (Vec2D v : vertices) {
1013
+ vertices.forEach((v) -> {
1025
1014
  v.addSelf(x, y);
1026
- }
1015
+ });
1027
1016
  return this;
1028
1017
  }
1029
1018
 
@@ -26,9 +26,7 @@
26
26
  */
27
27
  package toxi.geom;
28
28
 
29
- import javax.xml.bind.annotation.XmlAccessType;
30
- import javax.xml.bind.annotation.XmlAccessorType;
31
- import javax.xml.bind.annotation.XmlAttribute;
29
+
32
30
 
33
31
  import toxi.math.InterpolateStrategy;
34
32
  import toxi.math.MathUtils;
@@ -36,7 +34,7 @@ import toxi.math.MathUtils;
36
34
  /**
37
35
  * Quaternion implementation with SLERP based on http://is.gd/2n9s
38
36
  */
39
- @XmlAccessorType(XmlAccessType.FIELD)
37
+
40
38
  public class Quaternion {
41
39
 
42
40
  /**
@@ -173,7 +171,7 @@ public class Quaternion {
173
171
  return createFromAxisAngle(axis, angle);
174
172
  }
175
173
 
176
- @XmlAttribute(required = true)
174
+
177
175
  public float x,
178
176
  /**
179
177
  *
@@ -27,20 +27,18 @@
27
27
 
28
28
  package toxi.geom;
29
29
 
30
- import javax.xml.bind.annotation.XmlAccessType;
31
- import javax.xml.bind.annotation.XmlAccessorType;
32
- import javax.xml.bind.annotation.XmlElement;
30
+
33
31
 
34
32
  /**
35
33
  * A simple 2D ray datatype
36
34
  */
37
- @XmlAccessorType(XmlAccessType.FIELD)
35
+
38
36
  public class Ray2D extends Vec2D {
39
37
 
40
38
  /**
41
39
  *
42
40
  */
43
- @XmlElement(required = true)
41
+
44
42
  protected Vec2D dir;
45
43
 
46
44
  /**
@@ -140,6 +138,7 @@ public class Ray2D extends Vec2D {
140
138
  *
141
139
  * @return
142
140
  */
141
+ @Override
143
142
  public String toString() {
144
143
  return "origin: " + super.toString() + " dir: " + dir;
145
144
  }
@@ -27,20 +27,18 @@
27
27
 
28
28
  package toxi.geom;
29
29
 
30
- import javax.xml.bind.annotation.XmlAccessType;
31
- import javax.xml.bind.annotation.XmlAccessorType;
32
- import javax.xml.bind.annotation.XmlElement;
30
+
33
31
 
34
32
  /**
35
33
  * A simple 3D ray datatype
36
34
  */
37
- @XmlAccessorType(XmlAccessType.FIELD)
35
+
38
36
  public class Ray3D extends Vec3D {
39
37
 
40
38
  /**
41
39
  *
42
40
  */
43
- @XmlElement(required = true)
41
+
44
42
  protected Vec3D dir;
45
43
 
46
44
  /**
@@ -30,16 +30,14 @@ package toxi.geom;
30
30
  import java.util.ArrayList;
31
31
  import java.util.List;
32
32
 
33
- import javax.xml.bind.annotation.XmlAccessType;
34
- import javax.xml.bind.annotation.XmlAccessorType;
35
- import javax.xml.bind.annotation.XmlAttribute;
33
+
36
34
  import toxi.math.MathUtils;
37
35
 
38
36
  /**
39
37
  *
40
38
  * @author tux
41
39
  */
42
- @XmlAccessorType(XmlAccessType.FIELD)
40
+
43
41
  public class Rect implements Shape2D {
44
42
 
45
43
  /**
@@ -71,7 +69,7 @@ public class Rect implements Shape2D {
71
69
  return bounds;
72
70
  }
73
71
 
74
- @XmlAttribute(required = true)
72
+
75
73
  public float x,
76
74
 
77
75
  /**
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -27,9 +27,7 @@
27
27
 
28
28
  package toxi.geom;
29
29
 
30
- import javax.xml.bind.annotation.XmlAccessType;
31
- import javax.xml.bind.annotation.XmlAccessorType;
32
- import javax.xml.bind.annotation.XmlAttribute;
30
+
33
31
 
34
32
  import toxi.geom.mesh.Mesh3D;
35
33
  import toxi.geom.mesh.SphereFunction;
@@ -39,7 +37,7 @@ import toxi.geom.mesh.SurfaceMeshBuilder;
39
37
  *
40
38
  * @author tux
41
39
  */
42
- @XmlAccessorType(XmlAccessType.FIELD)
40
+
43
41
  public class Sphere extends Vec3D implements Shape3D {
44
42
 
45
43
  /**
@@ -51,7 +49,7 @@ public class Sphere extends Vec3D implements Shape3D {
51
49
  /**
52
50
  *
53
51
  */
54
- @XmlAttribute(required = true)
52
+
55
53
  public float radius;
56
54
 
57
55
  /**
@@ -31,11 +31,7 @@ import java.util.ArrayList;
31
31
  import java.util.Arrays;
32
32
  import java.util.List;
33
33
 
34
- import javax.xml.bind.annotation.XmlAccessType;
35
- import javax.xml.bind.annotation.XmlAccessorType;
36
- import javax.xml.bind.annotation.XmlAttribute;
37
- import javax.xml.bind.annotation.XmlElement;
38
- import javax.xml.bind.annotation.XmlTransient;
34
+
39
35
 
40
36
  /**
41
37
  * <p>
@@ -62,7 +58,7 @@ import javax.xml.bind.annotation.XmlTransient;
62
58
  * @version 0015 Added JAXB annotations and List support for dynamic building of
63
59
  * spline
64
60
  */
65
- @XmlAccessorType(XmlAccessType.FIELD)
61
+
66
62
  public class Spline2D {
67
63
 
68
64
  /**
@@ -78,49 +74,49 @@ public class Spline2D {
78
74
  /**
79
75
  *
80
76
  */
81
- @XmlTransient
77
+
82
78
  protected Vec2D[] points;
83
79
 
84
80
  /**
85
81
  *
86
82
  */
87
- @XmlElement(name = "p")
83
+
88
84
  public List<Vec2D> pointList = new ArrayList<>();
89
85
 
90
86
  /**
91
87
  *
92
88
  */
93
- @XmlTransient
89
+
94
90
  public BernsteinPolynomial bernstein;
95
91
 
96
92
  /**
97
93
  *
98
94
  */
99
- @XmlTransient
95
+
100
96
  public Vec2D[] delta;
101
97
 
102
98
  /**
103
99
  *
104
100
  */
105
- @XmlTransient
101
+
106
102
  public Vec2D[] coeffA;
107
103
 
108
104
  /**
109
105
  *
110
106
  */
111
- @XmlTransient
107
+
112
108
  public float[] bi;
113
109
 
114
110
  /**
115
111
  *
116
112
  */
117
- @XmlAttribute
113
+
118
114
  protected float tightness;
119
115
 
120
116
  /**
121
117
  *
122
118
  */
123
- @XmlTransient
119
+
124
120
  protected float invTightness;
125
121
 
126
122
  /**
@@ -254,9 +250,9 @@ public class Spline2D {
254
250
  */
255
251
  public Spline2D setPointList(List<Vec2D> plist) {
256
252
  pointList.clear();
257
- for (ReadonlyVec2D p : plist) {
253
+ plist.forEach((p) -> {
258
254
  pointList.add(p.copy());
259
- }
255
+ });
260
256
  return this;
261
257
  }
262
258
 
@@ -31,11 +31,7 @@ import java.util.ArrayList;
31
31
  import java.util.Arrays;
32
32
  import java.util.List;
33
33
 
34
- import javax.xml.bind.annotation.XmlAccessType;
35
- import javax.xml.bind.annotation.XmlAccessorType;
36
- import javax.xml.bind.annotation.XmlAttribute;
37
- import javax.xml.bind.annotation.XmlElement;
38
- import javax.xml.bind.annotation.XmlTransient;
34
+
39
35
 
40
36
  /**
41
37
  * <p>
@@ -62,7 +58,7 @@ import javax.xml.bind.annotation.XmlTransient;
62
58
  * @version 0015 Added JAXB annotations and List support for dynamic building of
63
59
  * spline
64
60
  */
65
- @XmlAccessorType(XmlAccessType.FIELD)
61
+
66
62
  public class Spline3D {
67
63
 
68
64
  /**
@@ -73,49 +69,49 @@ public class Spline3D {
73
69
  /**
74
70
  *
75
71
  */
76
- @XmlTransient
72
+
77
73
  protected Vec3D[] points;
78
74
 
79
75
  /**
80
76
  *
81
77
  */
82
- @XmlElement(name = "p")
78
+
83
79
  public List<Vec3D> pointList = new ArrayList<>();
84
80
 
85
81
  /**
86
82
  *
87
83
  */
88
- @XmlTransient
84
+
89
85
  public BernsteinPolynomial bernstein;
90
86
 
91
87
  /**
92
88
  *
93
89
  */
94
- @XmlTransient
90
+
95
91
  public Vec3D[] delta;
96
92
 
97
93
  /**
98
94
  *
99
95
  */
100
- @XmlTransient
96
+
101
97
  public Vec3D[] coeffA;
102
98
 
103
99
  /**
104
100
  *
105
101
  */
106
- @XmlTransient
102
+
107
103
  public float[] bi;
108
104
 
109
105
  /**
110
106
  *
111
107
  */
112
- @XmlAttribute
108
+
113
109
  protected float tightness;
114
110
 
115
111
  /**
116
112
  *
117
113
  */
118
- @XmlTransient
114
+
119
115
  protected float invTightness;
120
116
 
121
117
  /**
@@ -254,9 +250,9 @@ public class Spline3D {
254
250
  */
255
251
  public Spline3D setPointList(List<Vec3D> plist) {
256
252
  pointList.clear();
257
- for (ReadonlyVec3D p : plist) {
253
+ plist.forEach((p) -> {
258
254
  pointList.add(p.copy());
259
- }
255
+ });
260
256
  return this;
261
257
  }
262
258
 
@@ -31,10 +31,7 @@ import java.util.ArrayList;
31
31
  import java.util.Collections;
32
32
  import java.util.List;
33
33
 
34
- import javax.xml.bind.annotation.XmlAccessType;
35
- import javax.xml.bind.annotation.XmlAccessorType;
36
- import javax.xml.bind.annotation.XmlElement;
37
- import javax.xml.bind.annotation.XmlTransient;
34
+
38
35
 
39
36
  import toxi.geom.Line2D.LineIntersection.Type;
40
37
  import toxi.math.MathUtils;
@@ -43,7 +40,7 @@ import toxi.math.MathUtils;
43
40
  *
44
41
  * @author tux
45
42
  */
46
- @XmlAccessorType(XmlAccessType.FIELD)
43
+
47
44
  public class Triangle2D implements Shape2D {
48
45
 
49
46
  /**
@@ -73,7 +70,7 @@ public class Triangle2D implements Shape2D {
73
70
  return (determ > 0.0);
74
71
  }
75
72
 
76
- @XmlElement(required = true)
73
+
77
74
  public Vec2D a,
78
75
 
79
76
  /**
@@ -97,7 +94,7 @@ public class Triangle2D implements Shape2D {
97
94
  /**
98
95
  *
99
96
  */
100
- @XmlTransient
97
+
101
98
  public Vec2D centroid;
102
99
 
103
100
  /**