public class ITensileNet
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ITensileNet.ConstructorAndParameters<T> |
static class |
ITensileNet.IParticleCoupler |
static class |
ITensileNet.IParticleOnCurveComparator |
Modifier and Type | Field and Description |
---|---|
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; if embedTensionInLine is true, this variable is ignored.
|
static boolean |
deleteInputPoint
boolean switch to delete input fix points
|
static boolean |
embedTensionInLine
if input line is instance of ICurve (not ICurveR), put tension as dynamics inside the curve keeping the original line.
|
static java.lang.String |
equalizerLayer
layer to put equalizer lines
|
static double |
equalizerTension
strength of tension to equalize spacing on the same rail curves
|
static boolean |
fixAtRailEnd
in case with rail curves, boolean switch to fix points which are on end points of rail curves
|
static IColor |
fixedPointColor
color of fixed node points
|
static java.lang.String |
fixedPointLayer
layer to put fixed node points
|
static boolean |
fixOpenEnd
boolean switch to fix open end points of lines which are not connected any other line
|
static boolean |
fixPointOffRail
in case with rail curves, boolean switch to fix points which are not on any rail curves
|
static double |
friction
friction of node points (of IParticle)
|
static boolean |
keepDuplicatedMeshEdge
for creating tensile net out of polygon mesh; if this is false, duplicated edge on adjacent faces are ignored as tension line (duplicated edges inside the polygon mesh are kept, only tension line is not created internally).
|
static boolean |
keepDuplicatedMeshVertex |
java.util.ArrayList<ITensionI> |
links
instance members
|
java.util.ArrayList<IParticleI> |
nodes |
static double |
onRailTension
strength of tension between points on the same rail curves
|
static java.lang.Class<? extends IParticleI> |
particleClass
class for a custom particle class
|
static IParticleFactory |
particleFactory
factory class for a custom particle class.
|
static java.lang.Class<? extends IParticleOnCurveI> |
particleOnCurveClass
class for a custom particle on curve class
|
static IParticleOnCurveFactory |
particleOnCurveFactory
factory class for a custom particle on curve class.
|
static IColor |
pointColor
color of node points
|
static java.lang.String |
pointLayer
layer to put node points
|
static IColor |
railPointColor
color of node points on rail curve
|
static double |
railTolerance
tolerance to check which points are on rail
|
static boolean |
removeBranchStraightener
remove straighteners whose two points are shared and branching.
|
static boolean |
removeMeshDuplicates
if true, it rebuilds mesh before converting into tensile net by removing all duplicated vertices and
edges.
|
static boolean |
spacingEqualizer
boolean switch to put spacing equalizer force on the same rail curves
|
static boolean |
straightener
boolean switch to put straightening force on connected lines
|
static IColor |
straightenerColor
color of straightener curve
|
static java.lang.String |
straightenerLayer
layer to put straighterner lines
|
java.util.ArrayList<IStraightenerI> |
straighteners |
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 java.lang.Class<? extends ITensionI> |
tensionClass
class for a custom tension class
|
static IColor |
tensionColor
color of tension curve; default (null) is the original color of an input geometry
|
static ITensionFactory |
tensionFactory
factory class for a custom tension class.
|
static java.lang.String |
tensionLayer
layer to put tension lines; default (when null) is to put the original layer of an input geometry
|
static boolean |
tensionOnRail
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 and Description |
---|
ITensileNet() |
ITensileNet(java.util.ArrayList<ITensionI> links,
java.util.ArrayList<IParticleI> nodes) |
ITensileNet(java.util.ArrayList<ITensionI> links,
java.util.ArrayList<IParticleI> nodes,
java.util.ArrayList<IStraightenerI> straighteners) |
Modifier and Type | Method and Description |
---|---|
static void |
constantTension(boolean c)
boolean switch to make tension (of ITensionLine) constant not depending on the distance of two points
|
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 ITensileNet |
create(IMeshI mesh,
IVecI[] fixedPoints)
create a network of tension out of a polygon mesh.
|
static java.util.ArrayList<IParticleI> |
createParticleLink(IVecI[][] linePts,
java.util.ArrayList<IVecI> pointList,
IVecI[] fixedPoints,
IParticleI[][] linkParticlesResult,
java.lang.Class<? extends IParticleI> customParticleClass) |
static IParticleOnCurveI |
createParticleOnClosestCurve(ICurveI[] railCurves,
IVec pos,
double closenessTolerance,
double uTolerance,
ITensileNet.ConstructorAndParameters<IParticleOnCurveI> particleOnCurveConst)
find the closest curve to the point and put particle on the curve.
|
static IParticleOnCurveI |
createParticleOnCurve(ICurveI curve,
IVec pos,
double closenessTolerance,
double uTolerance,
ITensileNet.ConstructorAndParameters<IParticleOnCurveI> particleOnCurveConst)
put particle on the curve.
|
static java.util.ArrayList<IStraightenerI> |
createStraighteners(java.util.ArrayList<ITensionI> tlines)
create straighteners out of tension lines.
|
static java.util.ArrayList<ITensionI> |
createTensions(IParticleI[][] links,
IColor[] linkColors,
ILayer[] linkLayer,
java.lang.Class<? extends ITensionI> customTensionClass) |
static void |
deleteInputLine(boolean f)
boolean switch to delete input lines
|
static void |
deleteInputPoint(boolean f)
boolean switch to delete input fix points
|
static void |
disableConstantTension() |
static void |
disableDeleteInputLine()
boolean switch to delete input lines
|
static void |
disableDeleteInputPoint()
boolean switch to delete input fix points
|
static void |
disableEmbedTensionInLine()
if input line is instance of ICurve (not ICurveR), put tension as dynamics inside the curve keeping the original line.
|
static void |
disableFixAtRailEnd()
in case with rail curves, boolean switch to fix points which are on end points of rail curves
|
static void |
disableFixOpenEnd()
boolean switch to fix open end points of lines which are not connected any other line
|
static void |
disableFixPointOffRail(boolean f)
in case with rail curves, boolean switch to fix points which are not on any rail curves
|
static void |
disableRemoveBranchStraightener()
remove straighteners whose two points are shared and branching.
|
static void |
disableSpacingEqualizer()
boolean switch to put spacing equalizer force on the same rail curves
|
static void |
disableStraightener()
boolean switch to put straightening force on connected lines
|
static void |
disableTensionOnRail()
in case with rail curves, boolean switch to put tension between points on the same rail curve
|
static void |
embedTensionInLine(boolean f)
if input line is instance of ICurve (not ICurveR), put tension as dynamics inside the curve keeping the original line.
|
static void |
enableConstantTension() |
static void |
enableDeleteInputLine()
boolean switch to delete input lines
|
static void |
enableDeleteInputPoint()
boolean switch to delete input fix points
|
static void |
enableEmbedTensionInLine()
if input line is instance of ICurve (not ICurveR), put tension as dynamics inside the curve keeping the original line.
|
static void |
enableFixAtRailEnd()
in case with rail curves, boolean switch to fix points which are on end points of rail curves
|
static void |
enableFixOpenEnd()
boolean switch to fix open end points of lines which are not connected any other line
|
static void |
enableFixPointOffRail(boolean f)
in case with rail curves, boolean switch to fix points which are not on any rail curves
|
static void |
enableRemoveBranchStraightener()
remove straighteners whose two points are shared and branching.
|
static void |
enableSpacingEqualizer()
boolean switch to put spacing equalizer force on the same rail curves
|
static void |
enableStraightener()
boolean switch to put straightening force on connected lines
|
static void |
enableTensionOnRail()
in case with rail curves, boolean switch to put tension between points on the same rail curve
|
static void |
equalizerLayer(java.lang.String l)
layer to put equalizer lines
|
static void |
equalizerTension(double t)
strength of tension to equalize spacing on the same rail curves
|
static ICurveI |
findClosestCurve(ICurveI[] railCurves,
IVec pos,
int searchResolution)
find the closest curve to the point pos out of railsCurves.
|
static void |
fixAtRailEnd(boolean f)
in case with rail curves, boolean switch to fix points which are on end points of rail curves
|
static void |
fixedPointColor(float gray)
color of fixed node points
|
static void |
fixedPointColor(float gray,
float a)
color of fixed node points
|
static void |
fixedPointColor(float r,
float g,
float b)
color of fixed node points
|
static void |
fixedPointColor(float r,
float g,
float b,
float a)
color of fixed node points
|
static void |
fixedPointColor(IColor c)
color of fixed node points
|
static void |
fixedPointColor(int gray)
color of fixed node points
|
static void |
fixedPointColor(int gray,
int a)
color of fixed node points
|
static void |
fixedPointColor(int r,
int g,
int b)
color of fixed node points
|
static void |
fixedPointColor(int r,
int g,
int b,
int a)
color of fixed node points
|
static void |
fixedPointLayer(java.lang.String l)
layer to put fixed node points
|
static void |
fixOpenEnd(boolean f)
boolean switch to fix open end points of lines which are not connected any other line
|
static void |
fixParticles(java.util.ArrayList<IParticleI> particles,
IVecI[] fixedPoints) |
static void |
fixPointOffRail(boolean f)
in case with rail curves, boolean switch to fix points which are not on any rail curves
|
static void |
fric(double f)
alias of frction(double)
|
static void |
friction(double f)
friction of node points (of IParticle)
|
static IParticleI |
getParticleInstance(IVec pt,
java.lang.reflect.Constructor<? extends IParticleI> ptclConstructor,
java.lang.Class<?>[] ptclConstructorParameters)
set constructor of particle class.
|
static IParticleOnCurveI |
getParticleOnCurveInstance(ICurveI curve,
double upos,
IVec pos,
java.lang.reflect.Constructor<? extends IParticleOnCurveI> pocConstructor,
java.lang.Class<?>[] pocConstructorParameters) |
static ITensionI |
getTensionInstance(IParticleI pt1,
IParticleI pt2,
java.lang.reflect.Constructor<? extends ITensionI> tnsnConstructor,
java.lang.Class<?>[] tnsnConstructorParameters) |
ITensileNet |
join(ITensileNet net) |
ITensileNet |
join(ITensileNet net,
double tolerance) |
static void |
keepDuplicatedMeshEdge(boolean keep)
for creating tensile net out of polygon mesh; if this is false, duplicated edge on adjacent faces are ignored as tension line (duplicated edges inside the polygon mesh are kept, only tension line is not created internally).
|
static void |
keepDuplicatedMeshVertex(boolean keep) |
static void |
onRailTension(double t)
strength of tension between points on the same rail curves
|
static void |
particleClass(java.lang.Class<? extends IParticleI> cls)
class for a custom particle class
|
static void |
particleFactory(IParticleFactory f)
factory class for a custom particle class
|
static void |
particleOnCurveClass(java.lang.Class<? extends IParticleOnCurveI> cls)
class for a custom particle on curve class
|
static void |
particleOnCurveFactory(IParticleOnCurveFactory f)
factory class for a custom particleOnCurve class
|
static void |
pointColor(float gray)
color of node points
|
static void |
pointColor(float gray,
float a)
color of node points
|
static void |
pointColor(float r,
float g,
float b)
color of node points
|
static void |
pointColor(float r,
float g,
float b,
float a)
color of node points
|
static void |
pointColor(IColor c)
color of node points
|
static void |
pointColor(int gray)
color of node points
|
static void |
pointColor(int gray,
int a)
color of node points
|
static void |
pointColor(int r,
int g,
int b)
color of node points
|
static void |
pointColor(int r,
int g,
int b,
int a)
color of node points
|
static void |
pointLayer(java.lang.String l)
layer to put node points
|
static void |
railPointColor(float gray)
color of node points on rail curve
|
static void |
railPointColor(float gray,
float a)
color of node points on rail curve
|
static void |
railPointColor(float r,
float g,
float b)
color of node points on rail curve
|
static void |
railPointColor(float r,
float g,
float b,
float a)
color of node points on rail curve
|
static void |
railPointColor(IColor c)
color of node points on rail curve
|
static void |
railPointColor(int gray)
color of node points on rail curve
|
static void |
railPointColor(int gray,
int a)
color of node points on rail curve
|
static void |
railPointColor(int r,
int g,
int b)
color of node points on rail curve
|
static void |
railPointColor(int r,
int g,
int b,
int a)
color of node points on rail curve
|
static void |
railTolerance(double t)
tolerance to check which points are identical and which lines are connected
|
static void |
removeBranchStraightener(boolean f)
remove straighteners whose two points are shared and branching.
|
static void |
removeMeshDuplicates(boolean flag) |
static ITensileNet.ConstructorAndParameters<IParticleI> |
searchParticleConstructor(java.lang.Class<? extends IParticleI> pclass)
set constructor of particle class.
|
static ITensileNet.ConstructorAndParameters<IParticleOnCurveI> |
searchParticleOnCurveConstructor(java.lang.Class<? extends IParticleOnCurveI> pclass)
set constructor of particle class.
|
static ITensileNet.ConstructorAndParameters<ITensionI> |
searchTensionConstructor(java.lang.Class<? extends ITensionI> tclass)
set constructor of tension class.
|
static void |
spacingEqualizer(boolean f)
boolean switch to put spacing equalizer force on the same rail curves
|
static void |
straightener(boolean s)
boolean switch to put straightening force on connected lines
|
static void |
straightenerColor(float gray)
color of straightener curve
|
static void |
straightenerColor(float gray,
float a)
color of straightener curve
|
static void |
straightenerColor(float r,
float g,
float b)
color of straightener curve
|
static void |
straightenerColor(float r,
float g,
float b,
float a)
color of straightener curve
|
static void |
straightenerColor(IColor c)
color of straightener curve
|
static void |
straightenerColor(int gray)
color of straightener curve
|
static void |
straightenerColor(int gray,
int a)
color of straightener curve
|
static void |
straightenerColor(int r,
int g,
int b)
color of straightener curve
|
static void |
straightenerColor(int r,
int g,
int b,
int a)
color of straightener curve
|
static void |
straightenerLayer(java.lang.String l)
layer to put straighterner lines
|
static void |
straightenerTension(double t)
strength of tension to straighten lines
|
static void |
straightenerThresholdAngle(double angle)
if the connected line is less than this angle, it put straightening force on those lines
|
static void |
tension(double t)
strength of tension (of ITensionLine)
|
static void |
tensionClass(java.lang.Class<? extends ITensionI> cls)
class for a custom tension class
|
static void |
tensionColor(float gray)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(float gray,
float a)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(float r,
float g,
float b)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(float r,
float g,
float b,
float a)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(IColor c)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(int gray)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(int gray,
int a)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(int r,
int g,
int b)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionColor(int r,
int g,
int b,
int a)
color of tension curve; default is the original color of an input geometry
|
static void |
tensionFactory(ITensionFactory f)
factory class for a custom tension class
|
static void |
tensionLayer(java.lang.String l)
layer to put tension lines; default (when null) is to put the original layer of an input geometry
|
static void |
tensionOnRail(boolean f)
in case with rail curves, boolean switch to put tension between points on the same rail curve
|
static void |
tolerance(double t)
tolerance to check which points are identical and which lines are connected
|
public static double friction
public static double tension
public static double onRailTension
public static double straightenerTension
public static double equalizerTension
public static boolean constantTension
public static double tolerance
public static double railTolerance
public static IColor pointColor
public static IColor railPointColor
public static IColor fixedPointColor
public static IColor straightenerColor
public static IColor tensionColor
public static java.lang.String pointLayer
public static java.lang.String fixedPointLayer
public static java.lang.String straightenerLayer
public static java.lang.String equalizerLayer
public static java.lang.String tensionLayer
public static boolean fixOpenEnd
public static boolean deleteInputLine
public static boolean embedTensionInLine
public static boolean deleteInputPoint
public static boolean tensionOnRail
public static boolean fixAtRailEnd
public static boolean fixPointOffRail
public static boolean straightener
public static double straightenerThresholdAngle
public static boolean removeBranchStraightener
public static boolean spacingEqualizer
public static java.lang.Class<? extends IParticleI> particleClass
public static IParticleFactory particleFactory
public static java.lang.Class<? extends ITensionI> tensionClass
public static ITensionFactory tensionFactory
public static java.lang.Class<? extends IParticleOnCurveI> particleOnCurveClass
public static IParticleOnCurveFactory particleOnCurveFactory
public static boolean removeMeshDuplicates
public static boolean keepDuplicatedMeshEdge
public static boolean keepDuplicatedMeshVertex
public java.util.ArrayList<ITensionI> links
public java.util.ArrayList<IParticleI> nodes
public java.util.ArrayList<IStraightenerI> straighteners
public ITensileNet()
public ITensileNet(java.util.ArrayList<ITensionI> links, java.util.ArrayList<IParticleI> nodes)
public ITensileNet(java.util.ArrayList<ITensionI> links, java.util.ArrayList<IParticleI> nodes, java.util.ArrayList<IStraightenerI> straighteners)
public static void friction(double f)
public static void fric(double f)
public static void tension(double t)
public static void onRailTension(double t)
public static void straightenerTension(double t)
public static void equalizerTension(double t)
public static void constantTension(boolean c)
public static void enableConstantTension()
public static void disableConstantTension()
public static void tolerance(double t)
public static void railTolerance(double t)
public static void pointColor(IColor c)
public static void pointColor(int r, int g, int b, int a)
public static void pointColor(int r, int g, int b)
public static void pointColor(int gray, int a)
public static void pointColor(int gray)
public static void pointColor(float r, float g, float b, float a)
public static void pointColor(float r, float g, float b)
public static void pointColor(float gray, float a)
public static void pointColor(float gray)
public static void railPointColor(IColor c)
public static void railPointColor(int r, int g, int b, int a)
public static void railPointColor(int r, int g, int b)
public static void railPointColor(int gray, int a)
public static void railPointColor(int gray)
public static void railPointColor(float r, float g, float b, float a)
public static void railPointColor(float r, float g, float b)
public static void railPointColor(float gray, float a)
public static void railPointColor(float gray)
public static void fixedPointColor(IColor c)
public static void fixedPointColor(int r, int g, int b, int a)
public static void fixedPointColor(int r, int g, int b)
public static void fixedPointColor(int gray, int a)
public static void fixedPointColor(int gray)
public static void fixedPointColor(float r, float g, float b, float a)
public static void fixedPointColor(float r, float g, float b)
public static void fixedPointColor(float gray, float a)
public static void fixedPointColor(float gray)
public static void straightenerColor(IColor c)
public static void straightenerColor(int r, int g, int b, int a)
public static void straightenerColor(int r, int g, int b)
public static void straightenerColor(int gray, int a)
public static void straightenerColor(int gray)
public static void straightenerColor(float r, float g, float b, float a)
public static void straightenerColor(float r, float g, float b)
public static void straightenerColor(float gray, float a)
public static void straightenerColor(float gray)
public static void tensionColor(IColor c)
public static void tensionColor(int r, int g, int b, int a)
public static void tensionColor(int r, int g, int b)
public static void tensionColor(int gray, int a)
public static void tensionColor(int gray)
public static void tensionColor(float r, float g, float b, float a)
public static void tensionColor(float r, float g, float b)
public static void tensionColor(float gray, float a)
public static void tensionColor(float gray)
public static void pointLayer(java.lang.String l)
public static void fixedPointLayer(java.lang.String l)
public static void straightenerLayer(java.lang.String l)
public static void equalizerLayer(java.lang.String l)
public static void tensionLayer(java.lang.String l)
public static void fixOpenEnd(boolean f)
public static void enableFixOpenEnd()
public static void disableFixOpenEnd()
public static void deleteInputLine(boolean f)
public static void enableDeleteInputLine()
public static void disableDeleteInputLine()
public static void embedTensionInLine(boolean f)
public static void enableEmbedTensionInLine()
public static void disableEmbedTensionInLine()
public static void deleteInputPoint(boolean f)
public static void enableDeleteInputPoint()
public static void disableDeleteInputPoint()
public static void tensionOnRail(boolean f)
public static void enableTensionOnRail()
public static void disableTensionOnRail()
public static void fixAtRailEnd(boolean f)
public static void enableFixAtRailEnd()
public static void disableFixAtRailEnd()
public static void fixPointOffRail(boolean f)
public static void enableFixPointOffRail(boolean f)
public static void disableFixPointOffRail(boolean f)
public static void straightener(boolean s)
public static void enableStraightener()
public static void disableStraightener()
public static void straightenerThresholdAngle(double angle)
public static void removeBranchStraightener(boolean f)
public static void enableRemoveBranchStraightener()
public static void disableRemoveBranchStraightener()
public static void spacingEqualizer(boolean f)
public static void enableSpacingEqualizer()
public static void disableSpacingEqualizer()
public static void particleClass(java.lang.Class<? extends IParticleI> cls)
public static void particleFactory(IParticleFactory f)
public static void tensionClass(java.lang.Class<? extends ITensionI> cls)
public static void tensionFactory(ITensionFactory f)
public static void particleOnCurveClass(java.lang.Class<? extends IParticleOnCurveI> cls)
public static void particleOnCurveFactory(IParticleOnCurveFactory f)
public static void removeMeshDuplicates(boolean flag)
public static void keepDuplicatedMeshEdge(boolean keep)
public static void keepDuplicatedMeshVertex(boolean keep)
public static ITensileNet create(ICurveI[] linkLines, IVecI[] fixedPoints)
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.public static ITensileNet create(IMeshI mesh, IVecI[] fixedPoints)
mesh
- an input mesh whose edges are converted into tension lines and deform the original mesh geometry.fixedPoints
- if those points are on the vertices of the mesh, those vertices are fixed.public static void fixParticles(java.util.ArrayList<IParticleI> particles, IVecI[] fixedPoints)
public static java.util.ArrayList<IParticleI> createParticleLink(IVecI[][] linePts, java.util.ArrayList<IVecI> pointList, IVecI[] fixedPoints, IParticleI[][] linkParticlesResult, java.lang.Class<? extends IParticleI> customParticleClass)
public static java.util.ArrayList<ITensionI> createTensions(IParticleI[][] links, IColor[] linkColors, ILayer[] linkLayer, java.lang.Class<? extends ITensionI> customTensionClass)
public static java.util.ArrayList<IStraightenerI> createStraighteners(java.util.ArrayList<ITensionI> tlines)
public static ITensileNet.ConstructorAndParameters<IParticleI> searchParticleConstructor(java.lang.Class<? extends IParticleI> pclass)
public static ITensileNet.ConstructorAndParameters<ITensionI> searchTensionConstructor(java.lang.Class<? extends ITensionI> tclass)
public static ITensileNet.ConstructorAndParameters<IParticleOnCurveI> searchParticleOnCurveConstructor(java.lang.Class<? extends IParticleOnCurveI> pclass)
public static IParticleI getParticleInstance(IVec pt, java.lang.reflect.Constructor<? extends IParticleI> ptclConstructor, java.lang.Class<?>[] ptclConstructorParameters)
public static ITensionI getTensionInstance(IParticleI pt1, IParticleI pt2, java.lang.reflect.Constructor<? extends ITensionI> tnsnConstructor, java.lang.Class<?>[] tnsnConstructorParameters)
public static IParticleOnCurveI getParticleOnCurveInstance(ICurveI curve, double upos, IVec pos, java.lang.reflect.Constructor<? extends IParticleOnCurveI> pocConstructor, java.lang.Class<?>[] pocConstructorParameters)
public static ITensileNet create(ICurveI[] railCurves, ICurveI[] linkLines, IVecI[] fixedPoints)
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.public static ITensileNet create(ICurveI[] railCurves, ICurveI[] linkLines, ICurveI[] fixedLines, IVecI[] fixedPoints)
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.public static ICurveI findClosestCurve(ICurveI[] railCurves, IVec pos, int searchResolution)
railCurves
- target curves to searchpos
- point to measure the distance to check how closesearchResolution
- resolution per a curve specifying how many points per a curve to be checkedpublic static IParticleOnCurveI createParticleOnClosestCurve(ICurveI[] railCurves, IVec pos, double closenessTolerance, double uTolerance, ITensileNet.ConstructorAndParameters<IParticleOnCurveI> particleOnCurveConst)
railCurves
- target curves to searchpos
- point to measure the distance to check how closeclosenessTolerance
- tolerance to determine if the point is on the curve or notuTolerance
- tolerance in u parameter to specify how precise u parameter of particle shoould bepublic static IParticleOnCurveI createParticleOnCurve(ICurveI curve, IVec pos, double closenessTolerance, double uTolerance, ITensileNet.ConstructorAndParameters<IParticleOnCurveI> particleOnCurveConst)
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 bepublic ITensileNet join(ITensileNet net)
public ITensileNet join(ITensileNet net, double tolerance)