igeo.gui
Class ISubsurfaceMesh.SubsurfaceMatrix

java.lang.Object
  extended by igeo.gui.ISubsurfaceMesh.SubsurfaceMatrix
Enclosing class:
ISubsurfaceMesh

public static class ISubsurfaceMesh.SubsurfaceMatrix
extends java.lang.Object


Field Summary
 java.util.ArrayList<IVec2[]> innerLoop
           
 ISubsurfaceMesh[][] matrix
           
 java.util.ArrayList<IVec2[]> outerLoop
           
 int unum
           
 double[] uvalues
           
 int vnum
           
 double[] vvalues
           
 
Constructor Summary
ISubsurfaceMesh.SubsurfaceMatrix(double[] uval, double[] vval)
           
 
Method Summary
protected  void addDiagonalTrimLine(IVec2 pt1, IVec2 pt2, ISubsurfaceMesh subsurf, int prevU, int prevV, int nextU, int nextV)
           
protected  ISubsurfaceMesh getNextSubsurfaceOnLine(IVec2 linePt1, IVec2 linePt2, int uidx, int vidx)
           
protected  IVec2 getPoint(int uidx, int vidx)
           
protected  IVec2 getPoint(ISubsurfaceMesh idx)
           
 ISubsurfaceMesh getSubsurface(int uidx, int vidx)
           
protected  ISubsurfaceMesh[] getSubsurfaceOnLine(IVec2 pt1, IVec2 pt2)
           
protected  ISubsurfaceMesh getSubsurfaceOnPoint(IVec2 pt)
           
 IVec2[][] getTriangles()
           
protected  double getU(int uidx)
           
protected  int getUIndex(IVec2 pt)
           
protected  double getV(int vidx)
           
protected  int getVIndex(IVec2 pt)
           
protected  boolean insideIndexRange(ISubsurfaceMesh subsurf, int uIndexRange1, int vIndexRange1, int uIndexRange2, int vIndexRange2)
           
 boolean isDefaultOuterLoop(IVec2[] loop)
           
 boolean isInsideTrimLoop(int uidx, int vidx)
           
protected  boolean isLineOnEdge(IVec2 linePt1, IVec2 linePt2, IVec2 edgePt1, IVec2 edgePt2)
           
protected  boolean isLineOnPoint(IVec2 linePt1, IVec2 linePt2, int uidx, int vidx)
           
protected  boolean isLineOnUEdge(IVec2 linePt1, IVec2 linePt2, int uidx1, int uidx2, int vidx)
           
protected  boolean isLineOnVEdge(IVec2 linePt1, IVec2 linePt2, int uidx, int vidx1, int vidx2)
           
 boolean isSubsurfaceNull(int uidx, int vidx)
           
 void setLoop(IVec2[] loop, boolean isOuterTrim)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

matrix

public ISubsurfaceMesh[][] matrix

uvalues

public double[] uvalues

vvalues

public double[] vvalues

unum

public int unum

vnum

public int vnum

innerLoop

public java.util.ArrayList<IVec2[]> innerLoop

outerLoop

public java.util.ArrayList<IVec2[]> outerLoop
Constructor Detail

ISubsurfaceMesh.SubsurfaceMatrix

public ISubsurfaceMesh.SubsurfaceMatrix(double[] uval,
                                        double[] vval)
Method Detail

isInsideTrimLoop

public boolean isInsideTrimLoop(int uidx,
                                int vidx)

getTriangles

public IVec2[][] getTriangles()

getSubsurface

public ISubsurfaceMesh getSubsurface(int uidx,
                                     int vidx)

isSubsurfaceNull

public boolean isSubsurfaceNull(int uidx,
                                int vidx)

isDefaultOuterLoop

public boolean isDefaultOuterLoop(IVec2[] loop)

setLoop

public void setLoop(IVec2[] loop,
                    boolean isOuterTrim)

getSubsurfaceOnPoint

protected ISubsurfaceMesh getSubsurfaceOnPoint(IVec2 pt)

insideIndexRange

protected boolean insideIndexRange(ISubsurfaceMesh subsurf,
                                   int uIndexRange1,
                                   int vIndexRange1,
                                   int uIndexRange2,
                                   int vIndexRange2)

getSubsurfaceOnLine

protected ISubsurfaceMesh[] getSubsurfaceOnLine(IVec2 pt1,
                                                IVec2 pt2)
Returns:
aray of SubsurfaceIndex between 2 points not including the index where each point is

addDiagonalTrimLine

protected void addDiagonalTrimLine(IVec2 pt1,
                                   IVec2 pt2,
                                   ISubsurfaceMesh subsurf,
                                   int prevU,
                                   int prevV,
                                   int nextU,
                                   int nextV)

getNextSubsurfaceOnLine

protected ISubsurfaceMesh getNextSubsurfaceOnLine(IVec2 linePt1,
                                                  IVec2 linePt2,
                                                  int uidx,
                                                  int vidx)

isLineOnPoint

protected boolean isLineOnPoint(IVec2 linePt1,
                                IVec2 linePt2,
                                int uidx,
                                int vidx)

isLineOnEdge

protected boolean isLineOnEdge(IVec2 linePt1,
                               IVec2 linePt2,
                               IVec2 edgePt1,
                               IVec2 edgePt2)

isLineOnUEdge

protected boolean isLineOnUEdge(IVec2 linePt1,
                                IVec2 linePt2,
                                int uidx1,
                                int uidx2,
                                int vidx)

isLineOnVEdge

protected boolean isLineOnVEdge(IVec2 linePt1,
                                IVec2 linePt2,
                                int uidx,
                                int vidx1,
                                int vidx2)

getUIndex

protected int getUIndex(IVec2 pt)

getVIndex

protected int getVIndex(IVec2 pt)

getU

protected double getU(int uidx)

getV

protected double getV(int vidx)

getPoint

protected IVec2 getPoint(int uidx,
                         int vidx)

getPoint

protected IVec2 getPoint(ISubsurfaceMesh idx)