Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## igeo
Class ITensileNet

    java.lang.Object
      igeo.ITensileNet

    public class ITensileNet

extends java.lang.Object

Class to create tensile network which consists of IParticle and ITensionLine.

Nested Class Summary
`static class` | `ITensileNet.IParticleOnCurveComparator`

Field Summary
`static boolean` | `constantTension` boolean switch to make tension (of ITensionLine) constant not depending on the distance of two points
`static boolean` | `deleteInputLine` boolean switch to delete input lines
`static boolean` | `enableSpacingEqualizer` boolean switch to put spacing equalizer force on the same rail curves
`static boolean` | `enableStraightener` boolean switch to put straightening force on connected lines
`static java.lang.String` | `equalizerLayer`
`static double` | `equalizerTension` strength of tension to equalize spacing on the same rail curves
`static java.awt.Color` | `fixedPointColor` color of fixed node points
`static java.lang.String` | `fixedPointLayer`
`static boolean` | `fixOpenLinePoint` boolean switch to fix open end points of lines which are not connected any other line
`static boolean` | `fixPointNotOnRail` in case with rail curves, boolean switch to fix points which are not on any rail curves
`static boolean` | `fixPointOnRailEnd` in case with rail curves, boolean switch to fix points which are on end points of rail curves
`static double` | `friction` friction of node points (of IParticleAgent)
`java.util.ArrayList<ITensionLine>` | `links`
`static boolean` | `noBranchingStraightener` remove straighteners whose two points are shared and branching.
`java.util.ArrayList<IParticleAgent>` | `nodes`
`static double` | `onRailTension` strength of tension between points on the same rail curves
`static java.awt.Color` | `pointColor` color of node points
`static java.lang.String` | `pointLayer`
`static java.awt.Color` | `railPointColor` color of node points on rail curve
`static double` | `railTolerance` tolerance to check which points are on rail
`static java.awt.Color` | `straightenerColor` color of straightener curve
`static java.lang.String` | `straightenerLayer`
`static double` | `straightenerTension` strength of tension to straighten lines
`static double` | `straightenerThresholdAngle` if the connected line is less than this angle, it put straightening force on those lines
`static double` | `tension` strength of tension (of ITensionLine)
`static boolean` | `tensionOnSameRail` in case with rail curves, boolean switch to put tension between points on the same rail curve
`static double` | `tolerance` tolerance to check which points are identical and which lines are connected

Constructor Summary
`ITensileNet()`
`ITensileNet(java.util.ArrayList<ITensionLine> links, java.util.ArrayList<IParticleAgent> nodes)`

Method Summary
`static ITensileNet` | `create(ICurveI[] railCurves, ICurveI[] linkLines, ICurveI[] fixedLines, IVecI[] fixedPoints)` create a network of tension line on rail curve.
`static ITensileNet` | `create(ICurveI[] railCurves, ICurveI[] linkLines, IVecI[] fixedPoints)` create a network of tension line on rail curve.
`static ITensileNet` | `create(ICurveI[] linkLines, IVecI[] fixedPoints)` create a network of tension line.
`static IParticleOnCurve` | `createParticleOnClosestCurve(ICurveI[] railCurves, IVec pos, double closenessTolerance, double uTolerance)` find the closest curve to the point and put particle on the curve.
`static IParticleOnCurve` | `createParticleOnCurve(ICurveI curve, IVec pos, double closenessTolerance, double uTolerance)` put particle on the curve.
`static ICurveI` | `findClosestCurve(ICurveI[] railCurves, IVec pos, int searchResolution)` find the closest curve to the point pos out of railsCurves.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### friction

    public static double friction

  friction of node points (of IParticleAgent)

### tension

    public static double tension

  strength of tension (of ITensionLine)

### onRailTension

    public static double onRailTension

  strength of tension between points on the same rail curves

### straightenerTension

    public static double straightenerTension

  strength of tension to straighten lines

### equalizerTension

    public static double equalizerTension

  strength of tension to equalize spacing on the same rail curves

### constantTension

    public static boolean constantTension

  boolean switch to make tension (of ITensionLine) constant not depending on the distance of two points

### tolerance

    public static double tolerance

  tolerance to check which points are identical and which lines are connected

### railTolerance

    public static double railTolerance

  tolerance to check which points are on rail

### pointColor

    public static java.awt.Color pointColor

  color of node points

### railPointColor

    public static java.awt.Color railPointColor

  color of node points on rail curve

### fixedPointColor

    public static java.awt.Color fixedPointColor

  color of fixed node points

### straightenerColor

    public static java.awt.Color straightenerColor

  color of straightener curve

### pointLayer

    public static java.lang.String pointLayer

### fixedPointLayer

    public static java.lang.String fixedPointLayer

### straightenerLayer

    public static java.lang.String straightenerLayer

### equalizerLayer

    public static java.lang.String equalizerLayer

### fixOpenLinePoint

    public static boolean fixOpenLinePoint

  boolean switch to fix open end points of lines which are not connected any other line

### deleteInputLine

    public static boolean deleteInputLine

  boolean switch to delete input lines

### tensionOnSameRail

    public static boolean tensionOnSameRail

  in case with rail curves, boolean switch to put tension between points on the same rail curve

### fixPointOnRailEnd

    public static boolean fixPointOnRailEnd

  in case with rail curves, boolean switch to fix points which are on end points of rail curves

### fixPointNotOnRail

    public static boolean fixPointNotOnRail

  in case with rail curves, boolean switch to fix points which are not on any rail curves

### enableStraightener

    public static boolean enableStraightener

  boolean switch to put straightening force on connected lines

### straightenerThresholdAngle

    public static double straightenerThresholdAngle

  if the connected line is less than this angle, it put straightening force on those lines

### noBranchingStraightener

    public static boolean noBranchingStraightener

  remove straighteners whose two points are shared and branching.

### enableSpacingEqualizer

    public static boolean enableSpacingEqualizer

  boolean switch to put spacing equalizer force on the same rail curves

### links

    public java.util.ArrayList<ITensionLine> links

### nodes

    public java.util.ArrayList<IParticleAgent> nodes

Constructor Detail

### ITensileNet

    ITensileNet()

### ITensileNet

    ITensileNet(java.util.ArrayList<ITensionLine> links,
                java.util.ArrayList<IParticleAgent> nodes)

Method Detail

### create

    public static ITensileNet create(ICurveI[] linkLines,
                                     IVecI[] fixedPoints)

  create a network of tension line.

  Parameters:
    `linkLines` - lines to create tension line. if it's curve, it's simplified to line.
    `fixedPoints` - if those points are on the end point of linkLines, those end points of tension line are fixed.

### create

    public static ITensileNet create(ICurveI[] railCurves,
                                     ICurveI[] linkLines,
                                     IVecI[] fixedPoints)

  create a network of tension line on rail curve.

  Parameters:
    `railCurves` - curves on which all the points sit.
    `linkLines` - lines to create tension line. if it's curve, it's simplified to line.
    `fixedPoints` - if those points are on the end point of linkLines, those end points of tension line are fixed. this can be null.

### create

    public static ITensileNet create(ICurveI[] railCurves,
                                     ICurveI[] linkLines,
                                     ICurveI[] fixedLines,
                                     IVecI[] fixedPoints)

  create a network of tension line on rail curve.

  Parameters:
    `railCurves` - curves on which all the points sit.
    `linkLines` - lines to create tension line. if it's curve, it's simplified to line.
    `fixedLines` - end points of fixedLines are added to fixedPoints.
    `fixedPoints` - if those points are on the end point of linkLines, those end points of tension line are fixed.

### findClosestCurve

    public static ICurveI findClosestCurve(ICurveI[] railCurves,
                                           IVec pos,
                                           int searchResolution)

  find the closest curve to the point pos out of railsCurves.

  Parameters:
    `railCurves` - target curves to search
    `pos` - point to measure the distance to check how close
    `searchResolution` - resolution per a curve specifying how many points per a curve to be checked

### createParticleOnClosestCurve

    public static IParticleOnCurve createParticleOnClosestCurve(ICurveI[] railCurves,
                                                                IVec pos,
                                                                double closenessTolerance,
                                                                double uTolerance)

  find the closest curve to the point and put particle on the curve. if the curve is not close enough within closenessTolerance, particle is not created.

  Parameters:
    `railCurves` - target curves to search
    `pos` - point to measure the distance to check how close
    `closenessTolerance` - tolerance to determine if the point is on the curve or not
    `uTolerance` - tolerance in u parameter to specify how precise u parameter of particle shoould be

### createParticleOnCurve

    public static IParticleOnCurve createParticleOnCurve(ICurveI curve,
                                                         IVec pos,
                                                         double closenessTolerance,
                                                         double uTolerance)

  put particle on the curve. if the curve is not close enough within closenessTolerance, particle is not created.

  Parameters:
    `curve` - target curves to be on.
    `pos` - point to specify location of particle on the curve and this point is embed inside IParticleOnCurve and controlled by it.
    `closenessTolerance` - tolerance to determine if the point is on the curve or not. if this is negative, it will create any closest particle to the point even if it's far.
    `uTolerance` - tolerance in u parameter to specify how precise u parameter of particle shoould be

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD