toxiclibs 0.2-java → 0.5.0-java
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.
- checksums.yaml +4 -4
- data/.gitignore +16 -0
- data/CHANGELOG.md +4 -0
- data/LICENSE +675 -0
- data/README.md +12 -5
- data/Rakefile +25 -82
- data/examples/attract_repel/attract_repel.rb +30 -0
- data/examples/attract_repel/attractor.rb +23 -0
- data/examples/attract_repel/particle.rb +27 -0
- data/examples/data/ti_yong.png +0 -0
- data/examples/force_directed/cluster.rb +76 -0
- data/examples/force_directed/force_directed_graph.rb +92 -0
- data/examples/force_directed/node.rb +26 -0
- data/examples/gray_scott_image.rb +75 -0
- data/examples/gray_scott_tone_map.rb +77 -0
- data/examples/implicit.rb +139 -0
- data/examples/inflate_mesh.rb +89 -0
- data/examples/model_align.rb +44 -0
- data/examples/povmesh/ftest.rb +46 -0
- data/examples/povmesh/tentacle.rb +73 -0
- data/examples/simple_cluster/cluster.rb +47 -0
- data/examples/simple_cluster/node.rb +27 -0
- data/examples/simple_cluster/simple_cluster.rb +60 -0
- data/examples/soft_body/blanket.rb +45 -0
- data/examples/soft_body/connection.rb +16 -0
- data/examples/soft_body/particle.rb +22 -0
- data/examples/soft_body/soft_body_square_adapted.rb +55 -0
- data/lib/toxiclibs.jar +0 -0
- data/lib/toxiclibs.rb +91 -32
- data/lib/toxiclibs/version.rb +1 -1
- data/pom.xml +122 -0
- data/src/com/toxi/net/ClientListener.java +41 -0
- data/src/com/toxi/net/ServerListener.java +70 -0
- data/src/com/toxi/net/ServerListenerAdapter.java +47 -0
- data/src/com/toxi/net/ServerState.java +18 -0
- data/src/com/toxi/net/UDPConnection.java +66 -0
- data/src/com/toxi/net/UDPSyncClient.java +81 -0
- data/src/com/toxi/net/UDPSyncServer.java +450 -0
- data/src/com/toxi/nio/UDPClient.java +121 -0
- data/src/com/toxi/nio/UDPClientState.java +32 -0
- data/src/com/toxi/nio/UDPServer.java +129 -0
- data/src/toxi/color/AccessCriteria.java +114 -0
- data/src/toxi/color/AlphaAccessor.java +67 -0
- data/src/toxi/color/CMYKAccessor.java +122 -0
- data/src/toxi/color/CMYKDistanceProxy.java +40 -0
- data/src/toxi/color/ColorGradient.java +260 -0
- data/src/toxi/color/ColorList.java +699 -0
- data/src/toxi/color/ColorRange.java +671 -0
- data/src/toxi/color/ColorTheme.java +163 -0
- data/src/toxi/color/DistanceProxy.java +44 -0
- data/src/toxi/color/HSVAccessor.java +113 -0
- data/src/toxi/color/HSVDistanceProxy.java +40 -0
- data/src/toxi/color/HistEntry.java +85 -0
- data/src/toxi/color/Histogram.java +185 -0
- data/src/toxi/color/Hue.java +249 -0
- data/src/toxi/color/LuminanceAccessor.java +78 -0
- data/src/toxi/color/NamedColor.java +935 -0
- data/src/toxi/color/ProximityComparator.java +70 -0
- data/src/toxi/color/RGBAccessor.java +113 -0
- data/src/toxi/color/RGBDistanceProxy.java +41 -0
- data/src/toxi/color/ReadonlyTColor.java +296 -0
- data/src/toxi/color/TColor.java +1677 -0
- data/src/toxi/color/TColorAdapter.java +68 -0
- data/src/toxi/color/ToneMap.java +218 -0
- data/src/toxi/color/theory/AnalogousStrategy.java +140 -0
- data/src/toxi/color/theory/ColorTheoryRegistry.java +139 -0
- data/src/toxi/color/theory/ColorTheoryStrategy.java +56 -0
- data/src/toxi/color/theory/ComplementaryStrategy.java +111 -0
- data/src/toxi/color/theory/CompoundTheoryStrategy.java +143 -0
- data/src/toxi/color/theory/LeftSplitComplementaryStrategy.java +82 -0
- data/src/toxi/color/theory/MonochromeTheoryStrategy.java +103 -0
- data/src/toxi/color/theory/RightSplitComplementaryStrategy.java +82 -0
- data/src/toxi/color/theory/SingleComplementStrategy.java +76 -0
- data/src/toxi/color/theory/SplitComplementaryStrategy.java +77 -0
- data/src/toxi/color/theory/TetradTheoryStrategy.java +114 -0
- data/src/toxi/color/theory/TriadTheoryStrategy.java +77 -0
- data/src/toxi/data/csv/CSVAdapter.java +74 -0
- data/src/toxi/data/csv/CSVFieldMapper.java +212 -0
- data/src/toxi/data/csv/CSVListener.java +61 -0
- data/src/toxi/data/csv/CSVParser.java +202 -0
- data/src/toxi/data/feeds/AtomAuthor.java +49 -0
- data/src/toxi/data/feeds/AtomContent.java +50 -0
- data/src/toxi/data/feeds/AtomEntry.java +111 -0
- data/src/toxi/data/feeds/AtomFeed.java +129 -0
- data/src/toxi/data/feeds/AtomLink.java +62 -0
- data/src/toxi/data/feeds/RSSChannel.java +88 -0
- data/src/toxi/data/feeds/RSSEnclosure.java +60 -0
- data/src/toxi/data/feeds/RSSFeed.java +99 -0
- data/src/toxi/data/feeds/RSSItem.java +104 -0
- data/src/toxi/data/feeds/util/EntityStripper.java +2480 -0
- data/src/toxi/data/feeds/util/Iso8601DateAdapter.java +101 -0
- data/src/toxi/data/feeds/util/Rfc822DateAdapter.java +93 -0
- data/src/toxi/geom/AABB.java +658 -0
- data/src/toxi/geom/Axis3D.java +116 -0
- data/src/toxi/geom/AxisAlignedCylinder.java +163 -0
- data/src/toxi/geom/BernsteinPolynomial.java +94 -0
- data/src/toxi/geom/BezierCurve2D.java +159 -0
- data/src/toxi/geom/BezierCurve3D.java +148 -0
- data/src/toxi/geom/BooleanShapeBuilder.java +185 -0
- data/src/toxi/geom/BoxIntersector.java +52 -0
- data/src/toxi/geom/Circle.java +230 -0
- data/src/toxi/geom/CircleIntersector.java +85 -0
- data/src/toxi/geom/Cone.java +150 -0
- data/src/toxi/geom/ConvexPolygonClipper.java +136 -0
- data/src/toxi/geom/CoordinateExtractor.java +16 -0
- data/src/toxi/geom/Ellipse.java +250 -0
- data/src/toxi/geom/GMatrix.java +2599 -0
- data/src/toxi/geom/GVector.java +833 -0
- data/src/toxi/geom/GlobalGridTesselator.java +54 -0
- data/src/toxi/geom/GridTesselator.java +108 -0
- data/src/toxi/geom/Intersector2D.java +49 -0
- data/src/toxi/geom/Intersector3D.java +51 -0
- data/src/toxi/geom/IsectData2D.java +103 -0
- data/src/toxi/geom/IsectData3D.java +103 -0
- data/src/toxi/geom/Line2D.java +534 -0
- data/src/toxi/geom/Line3D.java +471 -0
- data/src/toxi/geom/LineStrip2D.java +430 -0
- data/src/toxi/geom/LineStrip3D.java +230 -0
- data/src/toxi/geom/LocalGridTesselator.java +57 -0
- data/src/toxi/geom/Matrix3d.java +3048 -0
- data/src/toxi/geom/Matrix4f.java +3446 -0
- data/src/toxi/geom/Matrix4x4.java +1076 -0
- data/src/toxi/geom/MatrixSizeException.java +58 -0
- data/src/toxi/geom/OctreeVisitor.java +44 -0
- data/src/toxi/geom/Origin3D.java +148 -0
- data/src/toxi/geom/Plane.java +293 -0
- data/src/toxi/geom/PlaneIntersector.java +57 -0
- data/src/toxi/geom/PointCloud3D.java +253 -0
- data/src/toxi/geom/PointOctree.java +502 -0
- data/src/toxi/geom/PointQuadtree.java +375 -0
- data/src/toxi/geom/Polygon2D.java +1038 -0
- data/src/toxi/geom/PolygonClipper2D.java +45 -0
- data/src/toxi/geom/PolygonTesselator.java +20 -0
- data/src/toxi/geom/QuadtreeVisitor.java +44 -0
- data/src/toxi/geom/Quaternion.java +641 -0
- data/src/toxi/geom/Ray2D.java +146 -0
- data/src/toxi/geom/Ray3D.java +150 -0
- data/src/toxi/geom/Ray3DIntersector.java +75 -0
- data/src/toxi/geom/ReadonlyVec2D.java +575 -0
- data/src/toxi/geom/ReadonlyVec3D.java +628 -0
- data/src/toxi/geom/ReadonlyVec4D.java +431 -0
- data/src/toxi/geom/Rect.java +720 -0
- data/src/toxi/geom/Reflector3D.java +58 -0
- data/src/toxi/geom/Shape2D.java +94 -0
- data/src/toxi/geom/Shape3D.java +42 -0
- data/src/toxi/geom/SingularMatrixException.java +57 -0
- data/src/toxi/geom/SpatialBins.java +182 -0
- data/src/toxi/geom/SpatialIndex.java +61 -0
- data/src/toxi/geom/Sphere.java +224 -0
- data/src/toxi/geom/SphereIntersectorReflector.java +196 -0
- data/src/toxi/geom/Spline2D.java +349 -0
- data/src/toxi/geom/Spline3D.java +351 -0
- data/src/toxi/geom/SutherlandHodgemanClipper.java +151 -0
- data/src/toxi/geom/Triangle2D.java +422 -0
- data/src/toxi/geom/Triangle3D.java +456 -0
- data/src/toxi/geom/TriangleIntersector.java +105 -0
- data/src/toxi/geom/Vec2D.java +1328 -0
- data/src/toxi/geom/Vec3D.java +1832 -0
- data/src/toxi/geom/Vec4D.java +985 -0
- data/src/toxi/geom/VecMathUtil.java +100 -0
- data/src/toxi/geom/XAxisCylinder.java +64 -0
- data/src/toxi/geom/YAxisCylinder.java +65 -0
- data/src/toxi/geom/ZAxisCylinder.java +64 -0
- data/src/toxi/geom/mesh/BezierPatch.java +200 -0
- data/src/toxi/geom/mesh/BoxSelector.java +62 -0
- data/src/toxi/geom/mesh/DefaultSTLColorModel.java +67 -0
- data/src/toxi/geom/mesh/DefaultSelector.java +50 -0
- data/src/toxi/geom/mesh/Face.java +176 -0
- data/src/toxi/geom/mesh/LaplacianSmooth.java +80 -0
- data/src/toxi/geom/mesh/MaterialiseSTLColorModel.java +150 -0
- data/src/toxi/geom/mesh/Mesh3D.java +224 -0
- data/src/toxi/geom/mesh/MeshIntersector.java +91 -0
- data/src/toxi/geom/mesh/OBJWriter.java +194 -0
- data/src/toxi/geom/mesh/PLYWriter.java +167 -0
- data/src/toxi/geom/mesh/PlaneSelector.java +90 -0
- data/src/toxi/geom/mesh/STLColorModel.java +54 -0
- data/src/toxi/geom/mesh/STLReader.java +185 -0
- data/src/toxi/geom/mesh/STLWriter.java +323 -0
- data/src/toxi/geom/mesh/SphereFunction.java +156 -0
- data/src/toxi/geom/mesh/SphericalHarmonics.java +110 -0
- data/src/toxi/geom/mesh/SuperEllipsoid.java +110 -0
- data/src/toxi/geom/mesh/SurfaceFunction.java +75 -0
- data/src/toxi/geom/mesh/SurfaceMeshBuilder.java +149 -0
- data/src/toxi/geom/mesh/Terrain.java +451 -0
- data/src/toxi/geom/mesh/TriangleMesh.java +1201 -0
- data/src/toxi/geom/mesh/Vertex.java +78 -0
- data/src/toxi/geom/mesh/VertexSelector.java +193 -0
- data/src/toxi/geom/mesh/WEFace.java +100 -0
- data/src/toxi/geom/mesh/WEMeshFilterStrategy.java +51 -0
- data/src/toxi/geom/mesh/WETriangleMesh.java +761 -0
- data/src/toxi/geom/mesh/WEVertex.java +134 -0
- data/src/toxi/geom/mesh/WingedEdge.java +115 -0
- data/src/toxi/geom/mesh/subdiv/CentroidSubdiv.java +37 -0
- data/src/toxi/geom/mesh/subdiv/DisplacementSubdivision.java +85 -0
- data/src/toxi/geom/mesh/subdiv/DualDisplacementSubdivision.java +94 -0
- data/src/toxi/geom/mesh/subdiv/DualSubdivision.java +49 -0
- data/src/toxi/geom/mesh/subdiv/EdgeLengthComparator.java +50 -0
- data/src/toxi/geom/mesh/subdiv/FaceCountComparator.java +51 -0
- data/src/toxi/geom/mesh/subdiv/MidpointDisplacementSubdivision.java +80 -0
- data/src/toxi/geom/mesh/subdiv/MidpointSubdiv.java +42 -0
- data/src/toxi/geom/mesh/subdiv/MidpointSubdivision.java +48 -0
- data/src/toxi/geom/mesh/subdiv/NewSubdivStrategy.java +23 -0
- data/src/toxi/geom/mesh/subdiv/NormalDisplacementSubdivision.java +74 -0
- data/src/toxi/geom/mesh/subdiv/SubdivisionStrategy.java +83 -0
- data/src/toxi/geom/mesh/subdiv/TriSubdivision.java +51 -0
- data/src/toxi/geom/mesh2d/DelaunayTriangle.java +222 -0
- data/src/toxi/geom/mesh2d/DelaunayTriangulation.java +327 -0
- data/src/toxi/geom/mesh2d/DelaunayVertex.java +560 -0
- data/src/toxi/geom/mesh2d/Voronoi.java +149 -0
- data/src/toxi/geom/nurbs/BasicNurbsCurve.java +210 -0
- data/src/toxi/geom/nurbs/BasicNurbsSurface.java +233 -0
- data/src/toxi/geom/nurbs/ControlNet.java +148 -0
- data/src/toxi/geom/nurbs/CurveCreator.java +112 -0
- data/src/toxi/geom/nurbs/CurveUtils.java +259 -0
- data/src/toxi/geom/nurbs/InterpolationException.java +65 -0
- data/src/toxi/geom/nurbs/KnotVector.java +333 -0
- data/src/toxi/geom/nurbs/NurbsCreator.java +815 -0
- data/src/toxi/geom/nurbs/NurbsCurve.java +120 -0
- data/src/toxi/geom/nurbs/NurbsMeshCreator.java +145 -0
- data/src/toxi/geom/nurbs/NurbsSurface.java +147 -0
- data/src/toxi/image/util/Filter8bit.java +331 -0
- data/src/toxi/image/util/TiledFrameExporter.java +162 -0
- data/src/toxi/math/BezierInterpolation.java +102 -0
- data/src/toxi/math/CircularInterpolation.java +88 -0
- data/src/toxi/math/CosineInterpolation.java +51 -0
- data/src/toxi/math/DecimatedInterpolation.java +77 -0
- data/src/toxi/math/ExponentialInterpolation.java +68 -0
- data/src/toxi/math/InterpolateStrategy.java +60 -0
- data/src/toxi/math/Interpolation2D.java +93 -0
- data/src/toxi/math/LinearInterpolation.java +46 -0
- data/src/toxi/math/MathUtils.java +990 -0
- data/src/toxi/math/NonLinearScaleMap.java +101 -0
- data/src/toxi/math/ScaleMap.java +183 -0
- data/src/toxi/math/SigmoidInterpolation.java +78 -0
- data/src/toxi/math/SinCosLUT.java +141 -0
- data/src/toxi/math/ThresholdInterpolation.java +58 -0
- data/src/toxi/math/ZoomLensInterpolation.java +126 -0
- data/src/toxi/math/conversion/UnitTranslator.java +161 -0
- data/src/toxi/math/noise/PerlinNoise.java +281 -0
- data/src/toxi/math/noise/SimplexNoise.java +542 -0
- data/src/toxi/math/waves/AMFMSineWave.java +143 -0
- data/src/toxi/math/waves/AbstractWave.java +248 -0
- data/src/toxi/math/waves/ConstantWave.java +48 -0
- data/src/toxi/math/waves/FMHarmonicSquareWave.java +155 -0
- data/src/toxi/math/waves/FMSawtoothWave.java +144 -0
- data/src/toxi/math/waves/FMSineWave.java +142 -0
- data/src/toxi/math/waves/FMSquareWave.java +143 -0
- data/src/toxi/math/waves/FMTriangleWave.java +126 -0
- data/src/toxi/math/waves/SineWave.java +81 -0
- data/src/toxi/math/waves/Wave2D.java +68 -0
- data/src/toxi/math/waves/WaveState.java +69 -0
- data/src/toxi/music/scale/AbstractScale.java +117 -0
- data/src/toxi/music/scale/GenericScale.java +66 -0
- data/src/toxi/music/scale/MajorScale.java +41 -0
- data/src/toxi/newmesh/AttributedEdge.java +106 -0
- data/src/toxi/newmesh/AttributedFace.java +63 -0
- data/src/toxi/newmesh/IndexedTriangleMesh.java +809 -0
- data/src/toxi/newmesh/MeshAttributeCompiler.java +45 -0
- data/src/toxi/newmesh/MeshFaceNormalCompiler.java +52 -0
- data/src/toxi/newmesh/MeshUVCompiler.java +52 -0
- data/src/toxi/newmesh/MeshVertexColorCompiler.java +49 -0
- data/src/toxi/newmesh/MeshVertexCompiler.java +54 -0
- data/src/toxi/newmesh/MeshVertexNormalCompiler.java +55 -0
- data/src/toxi/newmesh/SpatialIndex.java +78 -0
- data/src/toxi/physics2d/ParticlePath2D.java +100 -0
- data/src/toxi/physics2d/ParticleString2D.java +184 -0
- data/src/toxi/physics2d/PullBackSpring2D.java +51 -0
- data/src/toxi/physics2d/VerletConstrainedSpring2D.java +89 -0
- data/src/toxi/physics2d/VerletMinDistanceSpring2D.java +57 -0
- data/src/toxi/physics2d/VerletParticle2D.java +457 -0
- data/src/toxi/physics2d/VerletPhysics2D.java +448 -0
- data/src/toxi/physics2d/VerletSpring2D.java +181 -0
- data/src/toxi/physics2d/behaviors/AttractionBehavior2D.java +212 -0
- data/src/toxi/physics2d/behaviors/ConstantForceBehavior2D.java +112 -0
- data/src/toxi/physics2d/behaviors/GravityBehavior2D.java +61 -0
- data/src/toxi/physics2d/behaviors/ParticleBehavior2D.java +66 -0
- data/src/toxi/physics2d/constraints/AngularConstraint.java +83 -0
- data/src/toxi/physics2d/constraints/AxisConstraint.java +71 -0
- data/src/toxi/physics2d/constraints/CircularConstraint.java +69 -0
- data/src/toxi/physics2d/constraints/MaxConstraint.java +66 -0
- data/src/toxi/physics2d/constraints/MinConstraint.java +66 -0
- data/src/toxi/physics2d/constraints/ParticleConstraint2D.java +47 -0
- data/src/toxi/physics2d/constraints/PolygonConstraint.java +93 -0
- data/src/toxi/physics2d/constraints/RectConstraint.java +114 -0
- data/src/toxi/physics3d/ParticlePath3D.java +100 -0
- data/src/toxi/physics3d/ParticleString3D.java +184 -0
- data/src/toxi/physics3d/PullBackSpring3D.java +50 -0
- data/src/toxi/physics3d/VerletConstrainedSpring3D.java +88 -0
- data/src/toxi/physics3d/VerletMinDistanceSpring3D.java +56 -0
- data/src/toxi/physics3d/VerletParticle3D.java +385 -0
- data/src/toxi/physics3d/VerletPhysics3D.java +417 -0
- data/src/toxi/physics3d/VerletSpring3D.java +180 -0
- data/src/toxi/physics3d/behaviors/AttractionBehavior3D.java +182 -0
- data/src/toxi/physics3d/behaviors/ConstantForceBehavior3D.java +92 -0
- data/src/toxi/physics3d/behaviors/GravityBehavior3D.java +61 -0
- data/src/toxi/physics3d/behaviors/ParticleBehavior3D.java +52 -0
- data/src/toxi/physics3d/constraints/AxisConstraint.java +68 -0
- data/src/toxi/physics3d/constraints/BoxConstraint.java +121 -0
- data/src/toxi/physics3d/constraints/CylinderConstraint.java +87 -0
- data/src/toxi/physics3d/constraints/MaxConstraint.java +65 -0
- data/src/toxi/physics3d/constraints/MinConstraint.java +65 -0
- data/src/toxi/physics3d/constraints/ParticleConstraint3D.java +49 -0
- data/src/toxi/physics3d/constraints/PlaneConstraint.java +78 -0
- data/src/toxi/physics3d/constraints/SoftBoxConstraint.java +87 -0
- data/src/toxi/physics3d/constraints/SphereConstraint.java +108 -0
- data/src/toxi/processing/ArrowModifier.java +116 -0
- data/src/toxi/processing/DashedLineModifier.java +48 -0
- data/src/toxi/processing/DeltaOrientationMapper.java +57 -0
- data/src/toxi/processing/Line2DRenderModifier.java +18 -0
- data/src/toxi/processing/MeshToVBO.java +94 -0
- data/src/toxi/processing/NormalMapper.java +18 -0
- data/src/toxi/processing/POVInterface.java +121 -0
- data/src/toxi/processing/POVMesh.java +219 -0
- data/src/toxi/processing/POVWriter.java +460 -0
- data/src/toxi/processing/RCOpaque.java +77 -0
- data/src/toxi/processing/RCTransp.java +78 -0
- data/src/toxi/processing/TextureBuilder.java +232 -0
- data/src/toxi/processing/Textures.java +110 -0
- data/src/toxi/processing/ToxiclibsSupport.java +1239 -0
- data/src/toxi/processing/Tracing.java +25 -0
- data/src/toxi/processing/XYZNormalMapper.java +30 -0
- data/src/toxi/sim/automata/CAMatrix.java +297 -0
- data/src/toxi/sim/automata/CARule.java +76 -0
- data/src/toxi/sim/automata/CARule2D.java +354 -0
- data/src/toxi/sim/automata/CAWolfram1D.java +309 -0
- data/src/toxi/sim/automata/EvolvableMatrix.java +61 -0
- data/src/toxi/sim/automata/MatrixEvolver.java +42 -0
- data/src/toxi/sim/dla/BottomUpOrder.java +76 -0
- data/src/toxi/sim/dla/DLA.java +497 -0
- data/src/toxi/sim/dla/DLAConfiguration.java +364 -0
- data/src/toxi/sim/dla/DLAEventAdapter.java +64 -0
- data/src/toxi/sim/dla/DLAEventListener.java +57 -0
- data/src/toxi/sim/dla/DLAGuideLines.java +219 -0
- data/src/toxi/sim/dla/DLAParticle.java +102 -0
- data/src/toxi/sim/dla/DLASegment.java +88 -0
- data/src/toxi/sim/dla/PipelineOrder.java +50 -0
- data/src/toxi/sim/dla/RadialDistanceOrder.java +92 -0
- data/src/toxi/sim/erosion/ErosionFunction.java +122 -0
- data/src/toxi/sim/erosion/TalusAngleErosion.java +145 -0
- data/src/toxi/sim/erosion/ThermalErosion.java +75 -0
- data/src/toxi/sim/fluids/FluidSolver2D.java +762 -0
- data/src/toxi/sim/fluids/FluidSolver3D.java +326 -0
- data/src/toxi/sim/grayscott/GrayScott.java +469 -0
- data/src/toxi/util/DateUtils.java +141 -0
- data/src/toxi/util/FileSequenceDescriptor.java +181 -0
- data/src/toxi/util/FileUtils.java +467 -0
- data/src/toxi/util/datatypes/ArraySet.java +128 -0
- data/src/toxi/util/datatypes/ArrayUtil.java +404 -0
- data/src/toxi/util/datatypes/BiasedDoubleRange.java +141 -0
- data/src/toxi/util/datatypes/BiasedFloatRange.java +141 -0
- data/src/toxi/util/datatypes/BiasedIntegerRange.java +141 -0
- data/src/toxi/util/datatypes/DoubleRange.java +251 -0
- data/src/toxi/util/datatypes/FloatRange.java +251 -0
- data/src/toxi/util/datatypes/GenericSet.java +215 -0
- data/src/toxi/util/datatypes/IntegerRange.java +247 -0
- data/src/toxi/util/datatypes/IntegerSet.java +149 -0
- data/src/toxi/util/datatypes/ItemIndex.java +72 -0
- data/src/toxi/util/datatypes/SingletonRegistry.java +91 -0
- data/src/toxi/util/datatypes/TypedProperties.java +291 -0
- data/src/toxi/util/datatypes/UndirectedGraph.java +134 -0
- data/src/toxi/util/datatypes/UniqueItemIndex.java +223 -0
- data/src/toxi/util/datatypes/WeightedRandomEntry.java +76 -0
- data/src/toxi/util/datatypes/WeightedRandomSet.java +125 -0
- data/src/toxi/util/events/EventDispatcher.java +86 -0
- data/src/toxi/volume/AdditiveBrush.java +19 -0
- data/src/toxi/volume/ArrayIsoSurface.java +297 -0
- data/src/toxi/volume/BoxBrush.java +100 -0
- data/src/toxi/volume/BrushMode.java +16 -0
- data/src/toxi/volume/HashIsoSurface.java +354 -0
- data/src/toxi/volume/IsoSurface.java +59 -0
- data/src/toxi/volume/MarchingCubesIndex.java +312 -0
- data/src/toxi/volume/MeshLatticeBuilder.java +358 -0
- data/src/toxi/volume/MeshVoxelizer.java +216 -0
- data/src/toxi/volume/MultiplyBrush.java +20 -0
- data/src/toxi/volume/PeakBrush.java +21 -0
- data/src/toxi/volume/ReplaceBrush.java +19 -0
- data/src/toxi/volume/RoundBrush.java +113 -0
- data/src/toxi/volume/VolumetricBrush.java +160 -0
- data/src/toxi/volume/VolumetricHashMap.java +179 -0
- data/src/toxi/volume/VolumetricSpace.java +195 -0
- data/src/toxi/volume/VolumetricSpaceArray.java +214 -0
- data/toxiclibs.gemspec +34 -0
- metadata +424 -27
|
@@ -0,0 +1,935 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Some classes in this package have been partly inspired by & bits ported from
|
|
3
|
+
* Python code written by Tom De Smedt & Frederik De Bleser for the "colors" library
|
|
4
|
+
* of Nodebox.net.
|
|
5
|
+
*
|
|
6
|
+
* http://nodebox.net/code/index.php/Colors
|
|
7
|
+
*
|
|
8
|
+
* Copyright (c) 2006-2011 Karsten Schmidt
|
|
9
|
+
*
|
|
10
|
+
* This library is free software; you can redistribute it and/or
|
|
11
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
12
|
+
* License as published by the Free Software Foundation; either
|
|
13
|
+
* version 2.1 of the License, or (at your option) any later version.
|
|
14
|
+
*
|
|
15
|
+
* http://creativecommons.org/licenses/LGPL/2.1/
|
|
16
|
+
*
|
|
17
|
+
* This library is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
20
|
+
* Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
23
|
+
* License along with this library; if not, write to the Free Software
|
|
24
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
package toxi.color;
|
|
28
|
+
|
|
29
|
+
import java.lang.reflect.Field;
|
|
30
|
+
import java.util.ArrayList;
|
|
31
|
+
import java.util.HashMap;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Defines a list of named colors across the spectrum and provides a means to
|
|
35
|
+
* access them by name (strings) dynamically (e.g. using config files or when
|
|
36
|
+
* building {@link ColorTheme}s)
|
|
37
|
+
*/
|
|
38
|
+
public class NamedColor {
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
public static final ReadonlyTColor ALICEBLUE = TColor.newRGB(0.94f, 0.97f,
|
|
44
|
+
1.00f);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
public static final ReadonlyTColor ANTIQUEWHITE = TColor.newRGB(0.98f,
|
|
50
|
+
0.92f, 0.84f);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
public static final ReadonlyTColor AQUA = TColor
|
|
56
|
+
.newRGB(0.00f, 1.00f, 1.00f);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
public static final ReadonlyTColor AQUAMARINE = TColor.newRGB(0.50f, 1.00f,
|
|
62
|
+
0.83f);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
*
|
|
66
|
+
*/
|
|
67
|
+
public static final ReadonlyTColor AZURE = TColor.newRGB(0.94f, 1.00f,
|
|
68
|
+
1.00f);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
*/
|
|
73
|
+
public static final ReadonlyTColor BARK = TColor
|
|
74
|
+
.newRGB(0.25f, 0.19f, 0.13f);
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
*
|
|
78
|
+
*/
|
|
79
|
+
public static final ReadonlyTColor BEIGE = TColor.newRGB(0.96f, 0.96f,
|
|
80
|
+
0.86f);
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
*/
|
|
85
|
+
public static final ReadonlyTColor BISQUE = TColor.newRGB(1.00f, 0.89f,
|
|
86
|
+
0.77f);
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
public static final ReadonlyTColor BLACK = TColor.newRGB(0.00f, 0.00f,
|
|
92
|
+
0.00f);
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
*
|
|
96
|
+
*/
|
|
97
|
+
public static final ReadonlyTColor BLANCHEDALMOND = TColor.newRGB(1.00f,
|
|
98
|
+
0.92f, 0.80f);
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
*/
|
|
103
|
+
public static final ReadonlyTColor BLUE = TColor
|
|
104
|
+
.newRGB(0.00f, 0.00f, 1.00f);
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
*
|
|
108
|
+
*/
|
|
109
|
+
public static final ReadonlyTColor BLUEVIOLET = TColor.newRGB(0.54f, 0.17f,
|
|
110
|
+
0.89f);
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
*
|
|
114
|
+
*/
|
|
115
|
+
public static final ReadonlyTColor BROWN = TColor.newRGB(0.65f, 0.16f,
|
|
116
|
+
0.16f);
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
*
|
|
120
|
+
*/
|
|
121
|
+
public static final ReadonlyTColor BURLYWOOD = TColor.newRGB(0.87f, 0.72f,
|
|
122
|
+
0.53f);
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
*
|
|
126
|
+
*/
|
|
127
|
+
public static final ReadonlyTColor CADETBLUE = TColor.newRGB(0.37f, 0.62f,
|
|
128
|
+
0.63f);
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
*
|
|
132
|
+
*/
|
|
133
|
+
public static final ReadonlyTColor CHARTREUSE = TColor.newRGB(0.50f, 1.00f,
|
|
134
|
+
0.00f);
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
*
|
|
138
|
+
*/
|
|
139
|
+
public static final ReadonlyTColor CHOCOLATE = TColor.newRGB(0.82f, 0.41f,
|
|
140
|
+
0.12f);
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
*/
|
|
145
|
+
public static final ReadonlyTColor CORAL = TColor.newRGB(1.00f, 0.50f,
|
|
146
|
+
0.31f);
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
*
|
|
150
|
+
*/
|
|
151
|
+
public static final ReadonlyTColor CORNFLOWERBLUE = TColor.newRGB(0.39f,
|
|
152
|
+
0.58f, 0.93f);
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
*
|
|
156
|
+
*/
|
|
157
|
+
public static final ReadonlyTColor CORNSILK = TColor.newRGB(1.00f, 0.97f,
|
|
158
|
+
0.86f);
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
*
|
|
162
|
+
*/
|
|
163
|
+
public static final ReadonlyTColor CRIMSON = TColor.newRGB(0.86f, 0.08f,
|
|
164
|
+
0.24f);
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
169
|
+
public static final ReadonlyTColor CYAN = TColor
|
|
170
|
+
.newRGB(0.00f, 0.68f, 0.94f);
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
*
|
|
174
|
+
*/
|
|
175
|
+
public static final ReadonlyTColor DARKBLUE = TColor.newRGB(0.00f, 0.00f,
|
|
176
|
+
0.55f);
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
*
|
|
180
|
+
*/
|
|
181
|
+
public static final ReadonlyTColor DARKCYAN = TColor.newRGB(0.00f, 0.55f,
|
|
182
|
+
0.55f);
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
*
|
|
186
|
+
*/
|
|
187
|
+
public static final ReadonlyTColor DARKGOLDENROD = TColor.newRGB(0.72f,
|
|
188
|
+
0.53f, 0.04f);
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
*
|
|
192
|
+
*/
|
|
193
|
+
public static final ReadonlyTColor DARKGRAY = TColor.newRGB(0.66f, 0.66f,
|
|
194
|
+
0.66f);
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
*
|
|
198
|
+
*/
|
|
199
|
+
public static final ReadonlyTColor DARKGREEN = TColor.newRGB(0.00f, 0.39f,
|
|
200
|
+
0.00f);
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
*
|
|
204
|
+
*/
|
|
205
|
+
public static final ReadonlyTColor DARKKHAKI = TColor.newRGB(0.74f, 0.72f,
|
|
206
|
+
0.42f);
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
*
|
|
210
|
+
*/
|
|
211
|
+
public static final ReadonlyTColor DARKMAGENTA = TColor.newRGB(0.55f,
|
|
212
|
+
0.00f, 0.55f);
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
*
|
|
216
|
+
*/
|
|
217
|
+
public static final ReadonlyTColor DARKOLIVEGREEN = TColor.newRGB(0.33f,
|
|
218
|
+
0.42f, 0.18f);
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
*
|
|
222
|
+
*/
|
|
223
|
+
public static final ReadonlyTColor DARKORANGE = TColor.newRGB(1.00f, 0.55f,
|
|
224
|
+
0.00f);
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
*
|
|
228
|
+
*/
|
|
229
|
+
public static final ReadonlyTColor DARKORCHID = TColor.newRGB(0.60f, 0.20f,
|
|
230
|
+
0.80f);
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
*
|
|
234
|
+
*/
|
|
235
|
+
public static final ReadonlyTColor DARKRED = TColor.newRGB(0.55f, 0.00f,
|
|
236
|
+
0.00f);
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
*
|
|
240
|
+
*/
|
|
241
|
+
public static final ReadonlyTColor DARKSALMON = TColor.newRGB(0.91f, 0.59f,
|
|
242
|
+
0.48f);
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
*
|
|
246
|
+
*/
|
|
247
|
+
public static final ReadonlyTColor DARKSEAGREEN = TColor.newRGB(0.56f,
|
|
248
|
+
0.74f, 0.56f);
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
*
|
|
252
|
+
*/
|
|
253
|
+
public static final ReadonlyTColor DARKSLATEBLUE = TColor.newRGB(0.28f,
|
|
254
|
+
0.24f, 0.55f);
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
*
|
|
258
|
+
*/
|
|
259
|
+
public static final ReadonlyTColor DARKSLATEGRAY = TColor.newRGB(0.18f,
|
|
260
|
+
0.31f, 0.31f);
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
*
|
|
264
|
+
*/
|
|
265
|
+
public static final ReadonlyTColor DARKTURQUOISE = TColor.newRGB(0.00f,
|
|
266
|
+
0.81f, 0.82f);
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
*
|
|
270
|
+
*/
|
|
271
|
+
public static final ReadonlyTColor DARKVIOLET = TColor.newRGB(0.58f, 0.00f,
|
|
272
|
+
0.83f);
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
*
|
|
276
|
+
*/
|
|
277
|
+
public static final ReadonlyTColor DEEPPINK = TColor.newRGB(1.00f, 0.08f,
|
|
278
|
+
0.58f);
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
*
|
|
282
|
+
*/
|
|
283
|
+
public static final ReadonlyTColor DEEPSKYBLUE = TColor.newRGB(0.00f,
|
|
284
|
+
0.75f, 1.00f);
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
*
|
|
288
|
+
*/
|
|
289
|
+
public static final ReadonlyTColor DIMGRAY = TColor.newRGB(0.41f, 0.41f,
|
|
290
|
+
0.41f);
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
*
|
|
294
|
+
*/
|
|
295
|
+
public static final ReadonlyTColor DIMGREY = TColor.newRGB(0.41f, 0.41f,
|
|
296
|
+
0.41f);
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
*
|
|
300
|
+
*/
|
|
301
|
+
public static final ReadonlyTColor DODGERBLUE = TColor.newRGB(0.12f, 0.56f,
|
|
302
|
+
1.00f);
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
*
|
|
306
|
+
*/
|
|
307
|
+
public static final ReadonlyTColor FIREBRICK = TColor.newRGB(0.70f, 0.13f,
|
|
308
|
+
0.13f);
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
*
|
|
312
|
+
*/
|
|
313
|
+
public static final ReadonlyTColor FLORALWHITE = TColor.newRGB(1.00f,
|
|
314
|
+
0.98f, 0.94f);
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
*
|
|
318
|
+
*/
|
|
319
|
+
public static final ReadonlyTColor FORESTGREEN = TColor.newRGB(0.13f,
|
|
320
|
+
0.55f, 0.13f);
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
*
|
|
324
|
+
*/
|
|
325
|
+
public static final ReadonlyTColor FUCHSIA = TColor.newRGB(1.00f, 0.00f,
|
|
326
|
+
1.00f);
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
*
|
|
330
|
+
*/
|
|
331
|
+
public static final ReadonlyTColor GAINSBORO = TColor.newRGB(0.86f, 0.86f,
|
|
332
|
+
0.86f);
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
*
|
|
336
|
+
*/
|
|
337
|
+
public static final ReadonlyTColor GHOSTWHITE = TColor.newRGB(0.97f, 0.97f,
|
|
338
|
+
1.00f);
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
*
|
|
342
|
+
*/
|
|
343
|
+
public static final ReadonlyTColor GOLD = TColor
|
|
344
|
+
.newRGB(1.00f, 0.84f, 0.00f);
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
*
|
|
348
|
+
*/
|
|
349
|
+
public static final ReadonlyTColor GOLDENROD = TColor.newRGB(0.85f, 0.65f,
|
|
350
|
+
0.13f);
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
*
|
|
354
|
+
*/
|
|
355
|
+
public static final ReadonlyTColor GRAY = TColor
|
|
356
|
+
.newRGB(0.50f, 0.50f, 0.50f);
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
*
|
|
360
|
+
*/
|
|
361
|
+
public static final ReadonlyTColor GREEN = TColor.newRGB(0.00f, 0.50f,
|
|
362
|
+
0.00f);
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
*
|
|
366
|
+
*/
|
|
367
|
+
public static final ReadonlyTColor GREENYELLOW = TColor.newRGB(0.68f,
|
|
368
|
+
1.00f, 0.18f);
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
*
|
|
372
|
+
*/
|
|
373
|
+
public static final ReadonlyTColor GREY = TColor
|
|
374
|
+
.newRGB(0.50f, 0.50f, 0.50f);
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
*
|
|
378
|
+
*/
|
|
379
|
+
public static final ReadonlyTColor HONEYDEW = TColor.newRGB(0.94f, 1.00f,
|
|
380
|
+
0.94f);
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
*
|
|
384
|
+
*/
|
|
385
|
+
public static final ReadonlyTColor HOTPINK = TColor.newRGB(1.00f, 0.41f,
|
|
386
|
+
0.71f);
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
*
|
|
390
|
+
*/
|
|
391
|
+
public static final ReadonlyTColor INDIANRED = TColor.newRGB(0.80f, 0.36f,
|
|
392
|
+
0.36f);
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
*
|
|
396
|
+
*/
|
|
397
|
+
public static final ReadonlyTColor INDIGO = TColor.newRGB(0.29f, 0.00f,
|
|
398
|
+
0.51f);
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
*
|
|
402
|
+
*/
|
|
403
|
+
public static final ReadonlyTColor IVORY = TColor.newRGB(1.00f, 1.00f,
|
|
404
|
+
0.94f);
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
*
|
|
408
|
+
*/
|
|
409
|
+
public static final ReadonlyTColor KHAKI = TColor.newRGB(0.94f, 0.90f,
|
|
410
|
+
0.55f);
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
*
|
|
414
|
+
*/
|
|
415
|
+
public static final ReadonlyTColor LAVENDER = TColor.newRGB(0.90f, 0.90f,
|
|
416
|
+
0.98f);
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
*
|
|
420
|
+
*/
|
|
421
|
+
public static final ReadonlyTColor LAVENDERBLUSH = TColor.newRGB(1.00f,
|
|
422
|
+
0.94f, 0.96f);
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
*
|
|
426
|
+
*/
|
|
427
|
+
public static final ReadonlyTColor LAWNGREEN = TColor.newRGB(0.49f, 0.99f,
|
|
428
|
+
0.00f);
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
*
|
|
432
|
+
*/
|
|
433
|
+
public static final ReadonlyTColor LEMONCHIFFON = TColor.newRGB(1.00f,
|
|
434
|
+
0.98f, 0.80f);
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
*
|
|
438
|
+
*/
|
|
439
|
+
public static final ReadonlyTColor LIGHTBLUE = TColor.newRGB(0.68f, 0.85f,
|
|
440
|
+
0.90f);
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
*
|
|
444
|
+
*/
|
|
445
|
+
public static final ReadonlyTColor LIGHTCORAL = TColor.newRGB(0.94f, 0.50f,
|
|
446
|
+
0.50f);
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
*
|
|
450
|
+
*/
|
|
451
|
+
public static final ReadonlyTColor LIGHTCYAN = TColor.newRGB(0.88f, 1.00f,
|
|
452
|
+
1.00f);
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
*
|
|
456
|
+
*/
|
|
457
|
+
public static final ReadonlyTColor LIGHTGOLDENRODYELLOW = TColor.newRGB(
|
|
458
|
+
0.98f, 0.98f, 0.82f);
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
*
|
|
462
|
+
*/
|
|
463
|
+
public static final ReadonlyTColor LIGHTGREEN = TColor.newRGB(0.56f, 0.93f,
|
|
464
|
+
0.56f);
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
*
|
|
468
|
+
*/
|
|
469
|
+
public static final ReadonlyTColor LIGHTGREY = TColor.newRGB(0.83f, 0.83f,
|
|
470
|
+
0.83f);
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
*
|
|
474
|
+
*/
|
|
475
|
+
public static final ReadonlyTColor LIGHTPINK = TColor.newRGB(1.00f, 0.71f,
|
|
476
|
+
0.76f);
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
*
|
|
480
|
+
*/
|
|
481
|
+
public static final ReadonlyTColor LIGHTSALMON = TColor.newRGB(1.00f,
|
|
482
|
+
0.63f, 0.48f);
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
*
|
|
486
|
+
*/
|
|
487
|
+
public static final ReadonlyTColor LIGHTSEAGREEN = TColor.newRGB(0.13f,
|
|
488
|
+
0.70f, 0.67f);
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
*
|
|
492
|
+
*/
|
|
493
|
+
public static final ReadonlyTColor LIGHTSKYBLUE = TColor.newRGB(0.53f,
|
|
494
|
+
0.81f, 0.98f);
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
*
|
|
498
|
+
*/
|
|
499
|
+
public static final ReadonlyTColor LIGHTSLATEGRAY = TColor.newRGB(0.47f,
|
|
500
|
+
0.53f, 0.60f);
|
|
501
|
+
|
|
502
|
+
/**
|
|
503
|
+
*
|
|
504
|
+
*/
|
|
505
|
+
public static final ReadonlyTColor LIGHTSTEELBLUE = TColor.newRGB(0.69f,
|
|
506
|
+
0.77f, 0.87f);
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
*
|
|
510
|
+
*/
|
|
511
|
+
public static final ReadonlyTColor LIGHTYELLOW = TColor.newRGB(1.00f,
|
|
512
|
+
1.00f, 0.88f);
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
*
|
|
516
|
+
*/
|
|
517
|
+
public static final ReadonlyTColor LIME = TColor
|
|
518
|
+
.newRGB(0.00f, 1.00f, 0.00f);
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
*
|
|
522
|
+
*/
|
|
523
|
+
public static final ReadonlyTColor LIMEGREEN = TColor.newRGB(0.20f, 0.80f,
|
|
524
|
+
0.20f);
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
*
|
|
528
|
+
*/
|
|
529
|
+
public static final ReadonlyTColor LINEN = TColor.newRGB(0.98f, 0.94f,
|
|
530
|
+
0.90f);
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
*
|
|
534
|
+
*/
|
|
535
|
+
public static final ReadonlyTColor MAROON = TColor.newRGB(0.50f, 0.00f,
|
|
536
|
+
0.00f);
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
*
|
|
540
|
+
*/
|
|
541
|
+
public static final ReadonlyTColor MEDIUMAQUAMARINE = TColor.newRGB(0.40f,
|
|
542
|
+
0.80f, 0.67f);
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
*
|
|
546
|
+
*/
|
|
547
|
+
public static final ReadonlyTColor MEDIUMBLUE = TColor.newRGB(0.00f, 0.00f,
|
|
548
|
+
0.80f);
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
*
|
|
552
|
+
*/
|
|
553
|
+
public static final ReadonlyTColor MEDIUMORCHID = TColor.newRGB(0.73f,
|
|
554
|
+
0.33f, 0.83f);
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
*
|
|
558
|
+
*/
|
|
559
|
+
public static final ReadonlyTColor MEDIUMPURPLE = TColor.newRGB(0.58f,
|
|
560
|
+
0.44f, 0.86f);
|
|
561
|
+
|
|
562
|
+
/**
|
|
563
|
+
*
|
|
564
|
+
*/
|
|
565
|
+
public static final ReadonlyTColor MEDIUMSEAGREEN = TColor.newRGB(0.24f,
|
|
566
|
+
0.70f, 0.44f);
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
*
|
|
570
|
+
*/
|
|
571
|
+
public static final ReadonlyTColor MEDIUMSLATEBLUE = TColor.newRGB(0.48f,
|
|
572
|
+
0.41f, 0.93f);
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
*
|
|
576
|
+
*/
|
|
577
|
+
public static final ReadonlyTColor MEDIUMSPRINGGREEN = TColor.newRGB(0.00f,
|
|
578
|
+
0.98f, 0.60f);
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
*
|
|
582
|
+
*/
|
|
583
|
+
public static final ReadonlyTColor MEDIUMTURQUOISE = TColor.newRGB(0.28f,
|
|
584
|
+
0.82f, 0.80f);
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
*
|
|
588
|
+
*/
|
|
589
|
+
public static final ReadonlyTColor MEDIUMVIOLETRED = TColor.newRGB(0.78f,
|
|
590
|
+
0.08f, 0.52f);
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
*
|
|
594
|
+
*/
|
|
595
|
+
public static final ReadonlyTColor MIDNIGHTBLUE = TColor.newRGB(0.10f,
|
|
596
|
+
0.10f, 0.44f);
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
*
|
|
600
|
+
*/
|
|
601
|
+
public static final ReadonlyTColor MINTCREAM = TColor.newRGB(0.96f, 1.00f,
|
|
602
|
+
0.98f);
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
*
|
|
606
|
+
*/
|
|
607
|
+
public static final ReadonlyTColor MISTYROSE = TColor.newRGB(1.00f, 0.89f,
|
|
608
|
+
0.88f);
|
|
609
|
+
|
|
610
|
+
/**
|
|
611
|
+
*
|
|
612
|
+
*/
|
|
613
|
+
public static final ReadonlyTColor MOCCASIN = TColor.newRGB(1.00f, 0.89f,
|
|
614
|
+
0.71f);
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
*
|
|
618
|
+
*/
|
|
619
|
+
public static final ReadonlyTColor NAVAJOWHITE = TColor.newRGB(1.00f,
|
|
620
|
+
0.87f, 0.68f);
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
*
|
|
624
|
+
*/
|
|
625
|
+
public static final ReadonlyTColor NAVY = TColor
|
|
626
|
+
.newRGB(0.00f, 0.00f, 0.50f);
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
*
|
|
630
|
+
*/
|
|
631
|
+
public static final ReadonlyTColor OLDLACE = TColor.newRGB(0.99f, 0.96f,
|
|
632
|
+
0.90f);
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
*
|
|
636
|
+
*/
|
|
637
|
+
public static final ReadonlyTColor OLIVE = TColor.newRGB(0.50f, 0.50f,
|
|
638
|
+
0.00f);
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
*
|
|
642
|
+
*/
|
|
643
|
+
public static final ReadonlyTColor OLIVEDRAB = TColor.newRGB(0.42f, 0.56f,
|
|
644
|
+
0.14f);
|
|
645
|
+
|
|
646
|
+
/**
|
|
647
|
+
*
|
|
648
|
+
*/
|
|
649
|
+
public static final ReadonlyTColor ORANGE = TColor.newRGB(1.00f, 0.65f,
|
|
650
|
+
0.00f);
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
*
|
|
654
|
+
*/
|
|
655
|
+
public static final ReadonlyTColor ORANGERED = TColor.newRGB(1.00f, 0.27f,
|
|
656
|
+
0.00f);
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
*
|
|
660
|
+
*/
|
|
661
|
+
public static final ReadonlyTColor ORCHID = TColor.newRGB(0.85f, 0.44f,
|
|
662
|
+
0.84f);
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
*
|
|
666
|
+
*/
|
|
667
|
+
public static final ReadonlyTColor PALEGOLDENROD = TColor.newRGB(0.93f,
|
|
668
|
+
0.91f, 0.67f);
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
*
|
|
672
|
+
*/
|
|
673
|
+
public static final ReadonlyTColor PALEGREEN = TColor.newRGB(0.60f, 0.98f,
|
|
674
|
+
0.60f);
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
*
|
|
678
|
+
*/
|
|
679
|
+
public static final ReadonlyTColor PALETURQUOISE = TColor.newRGB(0.69f,
|
|
680
|
+
0.93f, 0.93f);
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
*
|
|
684
|
+
*/
|
|
685
|
+
public static final ReadonlyTColor PALEVIOLETRED = TColor.newRGB(0.86f,
|
|
686
|
+
0.44f, 0.58f);
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
*
|
|
690
|
+
*/
|
|
691
|
+
public static final ReadonlyTColor PAPAYAWHIP = TColor.newRGB(1.00f, 0.94f,
|
|
692
|
+
0.84f);
|
|
693
|
+
|
|
694
|
+
/**
|
|
695
|
+
*
|
|
696
|
+
*/
|
|
697
|
+
public static final ReadonlyTColor PEACHPUFF = TColor.newRGB(1.00f, 0.85f,
|
|
698
|
+
0.73f);
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
*
|
|
702
|
+
*/
|
|
703
|
+
public static final ReadonlyTColor PERU = TColor
|
|
704
|
+
.newRGB(0.80f, 0.52f, 0.25f);
|
|
705
|
+
|
|
706
|
+
/**
|
|
707
|
+
*
|
|
708
|
+
*/
|
|
709
|
+
public static final ReadonlyTColor PINK = TColor
|
|
710
|
+
.newRGB(1.00f, 0.75f, 0.80f);
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
*
|
|
714
|
+
*/
|
|
715
|
+
public static final ReadonlyTColor PLUM = TColor
|
|
716
|
+
.newRGB(0.87f, 0.63f, 0.87f);
|
|
717
|
+
|
|
718
|
+
/**
|
|
719
|
+
*
|
|
720
|
+
*/
|
|
721
|
+
public static final ReadonlyTColor POWDERBLUE = TColor.newRGB(0.69f, 0.88f,
|
|
722
|
+
0.90f);
|
|
723
|
+
|
|
724
|
+
/**
|
|
725
|
+
*
|
|
726
|
+
*/
|
|
727
|
+
public static final ReadonlyTColor PURPLE = TColor.newRGB(0.50f, 0.00f,
|
|
728
|
+
0.50f);
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
*
|
|
732
|
+
*/
|
|
733
|
+
public static final ReadonlyTColor RED = TColor.newRGB(1.00f, 0.00f, 0.00f);
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
*
|
|
737
|
+
*/
|
|
738
|
+
public static final ReadonlyTColor ROSYBROWN = TColor.newRGB(0.74f, 0.56f,
|
|
739
|
+
0.56f);
|
|
740
|
+
|
|
741
|
+
/**
|
|
742
|
+
*
|
|
743
|
+
*/
|
|
744
|
+
public static final ReadonlyTColor ROYALBLUE = TColor.newRGB(0.25f, 0.41f,
|
|
745
|
+
0.88f);
|
|
746
|
+
|
|
747
|
+
/**
|
|
748
|
+
*
|
|
749
|
+
*/
|
|
750
|
+
public static final ReadonlyTColor SADDLEBROWN = TColor.newRGB(0.55f,
|
|
751
|
+
0.27f, 0.07f);
|
|
752
|
+
|
|
753
|
+
/**
|
|
754
|
+
*
|
|
755
|
+
*/
|
|
756
|
+
public static final ReadonlyTColor SALMON = TColor.newRGB(0.98f, 0.50f,
|
|
757
|
+
0.45f);
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
*
|
|
761
|
+
*/
|
|
762
|
+
public static final ReadonlyTColor SANDYBROWN = TColor.newRGB(0.96f, 0.64f,
|
|
763
|
+
0.38f);
|
|
764
|
+
|
|
765
|
+
/**
|
|
766
|
+
*
|
|
767
|
+
*/
|
|
768
|
+
public static final ReadonlyTColor SEAGREEN = TColor.newRGB(0.18f, 0.55f,
|
|
769
|
+
0.34f);
|
|
770
|
+
|
|
771
|
+
/**
|
|
772
|
+
*
|
|
773
|
+
*/
|
|
774
|
+
public static final ReadonlyTColor SEASHELL = TColor.newRGB(1.00f, 0.96f,
|
|
775
|
+
0.93f);
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
*
|
|
779
|
+
*/
|
|
780
|
+
public static final ReadonlyTColor SIENNA = TColor.newRGB(0.63f, 0.32f,
|
|
781
|
+
0.18f);
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
*
|
|
785
|
+
*/
|
|
786
|
+
public static final ReadonlyTColor SILVER = TColor.newRGB(0.75f, 0.75f,
|
|
787
|
+
0.75f);
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
*
|
|
791
|
+
*/
|
|
792
|
+
public static final ReadonlyTColor SKYBLUE = TColor.newRGB(0.53f, 0.81f,
|
|
793
|
+
0.92f);
|
|
794
|
+
|
|
795
|
+
/**
|
|
796
|
+
*
|
|
797
|
+
*/
|
|
798
|
+
public static final ReadonlyTColor SLATEBLUE = TColor.newRGB(0.42f, 0.35f,
|
|
799
|
+
0.80f);
|
|
800
|
+
|
|
801
|
+
/**
|
|
802
|
+
*
|
|
803
|
+
*/
|
|
804
|
+
public static final ReadonlyTColor SLATEGRAY = TColor.newRGB(0.44f, 0.50f,
|
|
805
|
+
0.56f);
|
|
806
|
+
|
|
807
|
+
/**
|
|
808
|
+
*
|
|
809
|
+
*/
|
|
810
|
+
public static final ReadonlyTColor SNOW = TColor
|
|
811
|
+
.newRGB(1.00f, 0.98f, 0.98f);
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
*
|
|
815
|
+
*/
|
|
816
|
+
public static final ReadonlyTColor SPRINGGREEN = TColor.newRGB(0.00f,
|
|
817
|
+
1.00f, 0.50f);
|
|
818
|
+
|
|
819
|
+
/**
|
|
820
|
+
*
|
|
821
|
+
*/
|
|
822
|
+
public static final ReadonlyTColor STEELBLUE = TColor.newRGB(0.27f, 0.51f,
|
|
823
|
+
0.71f);
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
*
|
|
827
|
+
*/
|
|
828
|
+
public static final ReadonlyTColor TAN = TColor.newRGB(0.82f, 0.71f, 0.55f);
|
|
829
|
+
|
|
830
|
+
/**
|
|
831
|
+
*
|
|
832
|
+
*/
|
|
833
|
+
public static final ReadonlyTColor TEAL = TColor
|
|
834
|
+
.newRGB(0.00f, 0.50f, 0.50f);
|
|
835
|
+
|
|
836
|
+
/**
|
|
837
|
+
*
|
|
838
|
+
*/
|
|
839
|
+
public static final ReadonlyTColor THISTLE = TColor.newRGB(0.85f, 0.75f,
|
|
840
|
+
0.85f);
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
*
|
|
844
|
+
*/
|
|
845
|
+
public static final ReadonlyTColor TOMATO = TColor.newRGB(1.00f, 0.39f,
|
|
846
|
+
0.28f);
|
|
847
|
+
|
|
848
|
+
/**
|
|
849
|
+
*
|
|
850
|
+
*/
|
|
851
|
+
public static final ReadonlyTColor TRANSPARENT = TColor.newRGBA(0.00f,
|
|
852
|
+
0.00f, 0.00f, 0.00f);
|
|
853
|
+
|
|
854
|
+
/**
|
|
855
|
+
*
|
|
856
|
+
*/
|
|
857
|
+
public static final ReadonlyTColor TURQUOISE = TColor.newRGB(0.25f, 0.88f,
|
|
858
|
+
0.82f);
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
*
|
|
862
|
+
*/
|
|
863
|
+
public static final ReadonlyTColor VIOLET = TColor.newRGB(0.93f, 0.51f,
|
|
864
|
+
0.93f);
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
*
|
|
868
|
+
*/
|
|
869
|
+
public static final ReadonlyTColor WHEAT = TColor.newRGB(0.96f, 0.87f,
|
|
870
|
+
0.07f);
|
|
871
|
+
|
|
872
|
+
/**
|
|
873
|
+
*
|
|
874
|
+
*/
|
|
875
|
+
public static final ReadonlyTColor WHITE = TColor.newRGB(1.00f, 1.00f,
|
|
876
|
+
1.00f);
|
|
877
|
+
|
|
878
|
+
/**
|
|
879
|
+
*
|
|
880
|
+
*/
|
|
881
|
+
public static final ReadonlyTColor WHITESMOKE = TColor.newRGB(0.96f, 0.96f,
|
|
882
|
+
0.96f);
|
|
883
|
+
|
|
884
|
+
/**
|
|
885
|
+
*
|
|
886
|
+
*/
|
|
887
|
+
public static final ReadonlyTColor YELLOW = TColor.newRGB(1.00f, 1.00f,
|
|
888
|
+
0.00f);
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
*
|
|
892
|
+
*/
|
|
893
|
+
public static final ReadonlyTColor YELLOWGREEN = TColor.newRGB(0.60f,
|
|
894
|
+
0.80f, 0.20f);
|
|
895
|
+
|
|
896
|
+
/**
|
|
897
|
+
*
|
|
898
|
+
*/
|
|
899
|
+
protected static final HashMap<String, ReadonlyTColor> namedColorMap = new HashMap<String, ReadonlyTColor>();
|
|
900
|
+
|
|
901
|
+
static {
|
|
902
|
+
Field[] fields = NamedColor.class.getDeclaredFields();
|
|
903
|
+
try {
|
|
904
|
+
for (Field f : fields) {
|
|
905
|
+
if (f.getType() == ReadonlyTColor.class) {
|
|
906
|
+
String id = f.getName();
|
|
907
|
+
namedColorMap.put(id, (ReadonlyTColor) f.get(null));
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
} catch (IllegalArgumentException e) {
|
|
911
|
+
e.printStackTrace();
|
|
912
|
+
} catch (IllegalAccessException e) {
|
|
913
|
+
e.printStackTrace();
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
/**
|
|
918
|
+
* Returns a color for the given name.
|
|
919
|
+
*
|
|
920
|
+
* @param name
|
|
921
|
+
* @return color or null, if name not found.
|
|
922
|
+
*/
|
|
923
|
+
public static final ReadonlyTColor getForName(String name) {
|
|
924
|
+
return namedColorMap.get(name.toUpperCase());
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
/**
|
|
928
|
+
* Returns the names of all defined colors.
|
|
929
|
+
*
|
|
930
|
+
* @return list of name
|
|
931
|
+
*/
|
|
932
|
+
public static final ArrayList<String> getNames() {
|
|
933
|
+
return new ArrayList<String>(namedColorMap.keySet());
|
|
934
|
+
}
|
|
935
|
+
}
|