igeo
Class ISurfaceCreator

java.lang.Object
  extended by igeo.ISurfaceCreator

public class ISurfaceCreator
extends java.lang.Object

class with collection of static methods to create various type of surface.

Author:
Satoru Sugihara

Nested Class Summary
static class ISurfaceCreator.XCurveComparator
           
static class ISurfaceCreator.YCurveComparator
           
static class ISurfaceCreator.ZCurveComparator
           
 
Field Summary
static IServerI server
          state variable of a server to store surfaces created in the methods in this class
 
Constructor Summary
ISurfaceCreator()
           
 
Method Summary
static IBox box(double x, double y, double z, double size)
          box
static IBox box(double x, double y, double z, double width, double height, double depth)
           
static IBox box(IVecI[][][] corners)
           
static IBox box(IVecI origin, double size)
           
static IBox box(IVecI origin, double width, double height, double depth)
           
static IBox box(IVecI origin, IVecI xvec, IVecI yvec, IVecI zvec)
           
static IBox box(IVecI pt1, IVecI pt2, IVecI pt3, IVecI pt4, IVecI pt5, IVecI pt6, IVecI pt7, IVecI pt8)
           
static IBrep cap(ISurfaceI surface)
          cap a surface which is cyclically closed in u or v direction.
static int checkCPNumForLoft(ICurveI[] curves)
          check if number of control points is same and returns minimum number
static IVecI[][] checkCPNumForLoft(IVecI[][] pts)
           
static ICylinder cone(IVecI pt1, IVecI pt2, double radius)
           
static ICylinder cone(IVecI pt1, IVecI pt2, IDoubleI radius)
           
static ICylinder cylinder(IVecI pt1, IVecI pt2, double radius)
           
static ICylinder cylinder(IVecI pt1, IVecI pt2, double radius1, double radius2)
           
static ICylinder cylinder(IVecI pt1, IVecI pt2, IDoubleI radius)
           
static ICylinder cylinder(IVecI pt1, IVecI pt2, IDoubleI radius1, IDoubleI radius2)
           
static IVecI[] duplicatePoints(IVecI[] pts)
          subroutines for sweep
static IVecI[] duplicatePoints(IVecI[] pts, double weight)
           
static ISurface extrude(ICurveI profile, double extrudeDepth)
           
static ISurface extrude(ICurveI profile, ICurveI rail)
           
static ISurface extrude(ICurveI profile, IDoubleI extrudeDepth)
           
static ISurface extrude(ICurveI profile, IVecI extrudeDir)
           
static ISurface extrude(IVecI[] profile, double extrudeDepth)
          one directional extrusion
static ISurface extrude(IVecI[] profile, ICurve rail)
           
static ISurface extrude(IVecI[] profile, IDoubleI extrudeDepth)
           
static ISurface extrude(IVecI[] profile, int profileDeg, boolean closeProfile, double extrudeDepth)
           
static ISurface extrude(IVecI[] profile, int profileDeg, boolean closeProfile, ICurve rail)
           
static ISurface extrude(IVecI[] profile, int profileDeg, boolean closeProfile, IDoubleI extrudeDepth)
           
static ISurface extrude(IVecI[] profile, int profileDeg, boolean closeProfile, IVecI extrudeDir)
           
static ISurface extrude(IVecI[] profile, int profileDeg, boolean closeProfile, IVecI[] rail, int railDeg, boolean closeRail)
           
static ISurface extrude(IVecI[] profile, int profileDeg, double extrudeDepth)
           
static ISurface extrude(IVecI[] profile, int profileDeg, double[] profileKnots, ICurve rail)
           
static ISurface extrude(IVecI[] profile, int profileDeg, double[] profileKnots, IVecI extrudeDir)
           
static ISurface extrude(IVecI[] profile, int profileDeg, double[] profileKnots, IVecI[] rail, int railDeg, double[] railKnots)
           
static ISurface extrude(IVecI[] profile, int profileDeg, ICurve rail)
           
static ISurface extrude(IVecI[] profile, int profileDeg, IDoubleI extrudeDepth)
           
static ISurface extrude(IVecI[] profile, int profileDeg, IVecI extrudeDir)
           
static ISurface extrude(IVecI[] profile, int profileDeg, IVecI[] rail, int railDeg)
           
static ISurface extrude(IVecI[] profile, IVecI extrudeDir)
           
static ISurface extrude(IVecI[] profile, IVecI[] rail)
          extrusion along path (profile control points are copied parallely)
static ISurface flatten(ISurfaceI surface)
           
static ISurface flatten(ISurfaceI surface, IVecI planeDir)
           
static ISurface flatten(ISurfaceI surface, IVecI planeDir, IVecI planePt)
           
static IVec getCenter(ICurveI crv)
           
static IVec getCenter(IVecI[] profile, int profileDeg)
           
static boolean isClosed(IVecI[] profile, int profileDeg)
           
static ISurface loft(ICurveI[] curves)
          loft
static ISurface loft(ICurveI[] curves, int deg)
           
static ISurface loft(ICurveI[] curves, int deg, boolean close)
           
static ISurface loft(ICurveI curve1, ICurveI curve2)
           
static ISurface loft(IVecI[][] pts)
           
static ISurface loft(IVecI[][] pts, boolean closeLoft, boolean closePts)
           
static ISurface loft(IVecI[][] pts, int loftDeg, int ptsDeg)
           
static ISurface loft(IVecI[][] pts, int loftDeg, int ptsDeg, boolean closeLoft, boolean closePts)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2, boolean closePts)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2, int ptsDeg)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2, int ptsDeg, boolean closePts)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2, IVecI[] pts3)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2, IVecI[] pts3, boolean closePts)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2, IVecI[] pts3, int loftDeg, int ptsDeg)
           
static ISurface loft(IVecI[] pts1, IVecI[] pts2, IVecI[] pts3, int loftDeg, int ptsDeg, boolean closePts)
           
static ISurface loftX(ICurveI[] curves)
          loft with sorted curves in x
static ISurface loftX(ICurveI[] curves, int deg)
           
static ISurface loftX(ICurveI[] curves, int deg, boolean close)
           
static ISurface loftY(ICurveI[] curves)
          loft with sorted curves in y
static ISurface loftY(ICurveI[] curves, int deg)
           
static ISurface loftY(ICurveI[] curves, int deg, boolean close)
           
static ISurface loftZ(ICurveI[] curves)
          loft with sorted curves in z
static ISurface loftZ(ICurveI[] curves, int deg)
           
static ISurface loftZ(ICurveI[] curves, int deg, boolean close)
           
static IVecI[] orient(IVecI[] profile, IVecI profCenter, IVecI railPt)
          only moving profile points form profCenter to railPt.
static IVecI[] orient(IVecI[] profile, IVecI profCenter, IVecI profNml, IVecI railPt, IVecI railDir)
           
static IVecI[] orient(IVecI[] profile, IVecI profCenter, IVecI profNml, IVecI profDir, IVecI railPt, IVecI railDir, IVecI railNml)
          Orienting profile points by matching profCenter with railPt, profNml with railDir, profDir with railNml.
static IVecI[] orientAndBisect(IVecI[] profile, IVecI profCenter, IVecI profNml, IVecI railPt, IVecI railDir)
           
static IVecI[] orientAndBisect(IVecI[] profile, IVecI profCenter, IVecI profNml, IVecI profDir, IVecI railPt, IVecI railDir, IVecI railNml)
           
static ISurface pipe(ICurveI rail, double radius)
           
static ISurface pipe(IVecI[] rail, double radius)
           
static ISurface pipe(IVecI[] rail, int railDeg, boolean close, double radius)
           
static ISurface pipe(IVecI[] rail, int railDeg, double radius)
           
static ISurface pipe(IVecI[] rail, int railDeg, double[] railKnots, double radius)
           
static ISurface pipe(IVecI pt1, IVecI pt2, double radius)
          pipe
static ISurface plane(IVecI corner, double xwidth, double yheight)
           
static ISurface plane(IVecI corner, IVecI widthVec, IVecI heightVec)
           
static ISurface pointLoft(ICurveI profile, IVecI center)
          surface by lofting profile into the specified point
static ISurface pointLoft(IVecI[] cps, int deg, double[] knots, IVecI center)
          surface by lofting profile into the specified point
static ISurfaceGeo pointLoftGeo(IVecI[] cps, int deg, double[] knots, IVecI center)
          surface by lofting profile into the specified point
static ISurface profileSurface(ICurveI profile)
          surface defined by closed profile.if the profile is flat, planar surface is created.
static ISurface profileSurface(IVecI[] cps, int deg, double[] knots)
          surface defined by closed profile.if the profile is flat, planar surface is created.
static ISurfaceGeo profileSurfaceGeo(IVecI[] cps, int deg, double[] knots)
          surface defined by closed profile.if the profile is flat, planar surface is created.
static ISurface radialSurface(ICurveI profile)
          surface by lofting profile into the center of the profile
static ISurface radialSurface(IVecI[] cps, int deg, double[] knots)
          surface by lofting profile into the center of the profile
static ISurfaceGeo radialSurfaceGeo(IVecI[] cps, int deg, double[] knots)
          surface by lofting profile into the center of the profile
static ISurface rectPipe(ICurveI rail, double width, double height)
           
static ISurface rectPipe(ICurveI rail, double left, double right, double bottom, double top)
           
static ISurface rectPipe(IVecI[] rail, double width, double height)
           
static ISurface rectPipe(IVecI[] rail, double left, double right, double bottom, double top)
           
static ISurface rectPipe(IVecI[] rail, int deg, boolean close, double width, double height)
           
static ISurface rectPipe(IVecI[] rail, int deg, boolean close, double left, double right, double bottom, double top)
           
static ISurface rectPipe(IVecI[] rail, int deg, double[] knots, double width, double height)
           
static ISurface rectPipe(IVecI[] rail, int deg, double[] knots, double left, double right, double bottom, double top)
           
static ISurface rectPipe(IVecI[] rail, int deg, double width, double height)
           
static ISurface rectPipe(IVecI[] rail, int deg, double left, double right, double bottom, double top)
           
static ISurface rectPipe(IVecI pt1, IVecI pt2, double width, double height)
           
static ISurface rectPipe(IVecI pt1, IVecI pt2, double left, double right, double bottom, double top)
           
static IServerI server()
           
static void server(IServerI s)
          set a server to store surfaces created in the methods in this class
static ISphere sphere(double x, double y, double z, double radius)
          sphere
static ISphere sphere(IVecI center, double radius)
           
static ISphere sphere(IVecI center, IDoubleI radius)
           
static ISurface squarePipe(ICurveI rail, double size)
           
static ISurface squarePipe(IVecI[] rail, double size)
           
static ISurface squarePipe(IVecI[] rail, int deg, boolean close, double size)
           
static ISurface squarePipe(IVecI[] rail, int deg, double size)
           
static ISurface squarePipe(IVecI[] rail, int deg, double[] knots, double size)
           
static ISurface squarePipe(IVecI pt1, IVecI pt2, double size)
           
static ISurface surface(double[][][] xyzValues)
           
static ISurface surface(double[][][] xyzValues, boolean closeU, boolean closeV)
           
static ISurface surface(double[][][] xyzValues, int udeg, int vdeg)
           
static ISurface surface(double[][][] xyzValues, int udeg, int vdeg, boolean closeU, boolean closeV)
           
static ISurface surface(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
           
static ISurface surface(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4)
           
static ISurface surface(ICurveI trimCurve)
           
static ISurface surface(ICurveI[] trimCurves)
           
static ISurface surface(ICurveI trimCurve, ICurveI innerTrimCurve)
           
static ISurface surface(ICurveI trimCurve, ICurveI[] innerTrimCurves)
           
static ISurface surface(ISurfaceI srf)
           
static ISurface surface(IVecI[] trimCrvPts)
           
static ISurface surface(IVecI[][] cpts)
           
static ISurface surface(IVecI[][] cpts, boolean closeU, boolean closeV)
           
static ISurface surface(IVecI[][] cpts, int udegree, int vdegree)
           
static ISurface surface(IVecI[][] cpts, int udegree, int vdegree, boolean closeU, boolean closeV)
           
static ISurface surface(IVecI[][] cpts, int udegree, int vdegree, boolean closeU, double[] vk)
           
static ISurface surface(IVecI[][] cpts, int udegree, int vdegree, double[] uk, boolean closeV)
           
static ISurface surface(IVecI[][] cpts, int udegree, int vdegree, double[] uknots, double[] vknots)
           
static ISurface surface(IVecI[][] cpts, int udegree, int vdegree, double[] uknots, double[] vknots, double ustart, double uend, double vstart, double vend)
           
static ISurface surface(IVecI[] trimCrvPts, int trimCrvDeg)
           
static ISurface surface(IVecI[] trimCrvPts, int trimCrvDeg, double[] trimCrvKnots)
           
static ISurface surface(IVecI pt1, IVecI pt2, IVecI pt3)
           
static ISurface surface(IVecI pt1, IVecI pt2, IVecI pt3, IVecI pt4)
           
static ISurface sweep(ICurveI profile, ICurveI rail)
           
static ISurface sweep(ICurveI profile, IVecI[] rail)
           
static ISurface sweep(ICurveI profile, IVecI[] rail, int railDeg)
           
static ISurface sweep(ICurveI profile, IVecI[] rail, int railDeg, boolean closeRail)
           
static ISurface sweep(ICurveI profile, IVecI profileCenter, ICurveI rail)
           
static ISurface sweep(ICurveI profile, IVecI profileCenter, IVecI[] rail)
           
static ISurface sweep(ICurveI profile, IVecI profileCenter, IVecI[] rail, int railDeg)
           
static ISurface sweep(ICurveI profile, IVecI profileCenter, IVecI[] rail, int railDeg, boolean closeRail)
           
static ISurface sweep(ICurveI profile, IVecI profileCenter, IVecI profileDir, ICurveI rail)
          sweep.
static ISurface sweep(ICurveI profile, IVecI profileCenter, IVecI profileDir, IVecI[] rail)
           
static ISurface sweep(ICurveI profile, IVecI profileCenter, IVecI profileDir, IVecI[] rail, int railDeg)
           
static ISurface sweep(ICurveI profile, IVecI profileCenter, IVecI profileDir, IVecI[] rail, int railDeg, boolean closeRail)
           
static ISurface sweep(IVecI[] profile, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, boolean closeProfile, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, boolean closeProfile, IVecI[] rail, int railDeg, boolean closeRail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, boolean closeProfile, IVecI profileCenter, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, boolean closeProfile, IVecI profileCenter, IVecI[] rail, int railDeg, boolean closeRail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, boolean closeProfile, IVecI profileCenter, IVecI profileDir, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, boolean closeProfile, IVecI profileCenter, IVecI profileDir, IVecI[] rail, int railDeg, boolean closeRail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, double[] profileKnots, IVecI[] rail, int railDeg, double[] railKnots)
           
static ISurface sweep(IVecI[] profile, int profileDeg, double[] profileKnots, IVecI profileCenter, IVecI[] rail, int railDeg, double[] railKnots)
           
static ISurface sweep(IVecI[] profile, int profileDeg, double[] profileKnots, IVecI profileCenter, IVecI profileDir, IVecI[] rail, int railDeg, double[] railKnots)
          sweep.
static ISurface sweep(IVecI[] profile, int profileDeg, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, IVecI[] rail, int railDeg)
           
static ISurface sweep(IVecI[] profile, int profileDeg, IVecI profileCenter, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, IVecI profileCenter, IVecI[] rail, int railDeg)
           
static ISurface sweep(IVecI[] profile, int profileDeg, IVecI profileCenter, IVecI profileDir, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, int profileDeg, IVecI profileCenter, IVecI profileDir, IVecI[] rail, int railDeg)
           
static ISurface sweep(IVecI[] profile, IVecI[] rail)
          sweep (profile is redirected perpendicular to rail and centered(actually just on bisector of control points))
static ISurface sweep(IVecI[] profile, IVecI profileCenter, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, IVecI profileCenter, IVecI[] rail)
           
static ISurface sweep(IVecI[] profile, IVecI profileCenter, IVecI profileDir, ICurveI rail)
           
static ISurface sweep(IVecI[] profile, IVecI profileCenter, IVecI profileDir, IVecI[] rail)
           
static IVecI[][] sweepPoints(IVecI[] profile, int profileDeg, IVecI profileCenter, IVecI profileDir, IVecI[] rail, int railDeg)
          control points for sweep.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

server

public static IServerI server
state variable of a server to store surfaces created in the methods in this class

Constructor Detail

ISurfaceCreator

public ISurfaceCreator()
Method Detail

server

public static void server(IServerI s)
set a server to store surfaces created in the methods in this class


server

public static IServerI server()

surface

public static ISurface surface(IVecI[][] cpts,
                               int udegree,
                               int vdegree,
                               double[] uknots,
                               double[] vknots,
                               double ustart,
                               double uend,
                               double vstart,
                               double vend)

surface

public static ISurface surface(IVecI[][] cpts,
                               int udegree,
                               int vdegree,
                               double[] uknots,
                               double[] vknots)

surface

public static ISurface surface(IVecI[][] cpts,
                               int udegree,
                               int vdegree)

surface

public static ISurface surface(IVecI[][] cpts)

surface

public static ISurface surface(IVecI[][] cpts,
                               int udegree,
                               int vdegree,
                               boolean closeU,
                               boolean closeV)

surface

public static ISurface surface(IVecI[][] cpts,
                               int udegree,
                               int vdegree,
                               boolean closeU,
                               double[] vk)

surface

public static ISurface surface(IVecI[][] cpts,
                               int udegree,
                               int vdegree,
                               double[] uk,
                               boolean closeV)

surface

public static ISurface surface(IVecI[][] cpts,
                               boolean closeU,
                               boolean closeV)

surface

public static ISurface surface(IVecI pt1,
                               IVecI pt2,
                               IVecI pt3,
                               IVecI pt4)

surface

public static ISurface surface(IVecI pt1,
                               IVecI pt2,
                               IVecI pt3)

surface

public static ISurface surface(double x1,
                               double y1,
                               double z1,
                               double x2,
                               double y2,
                               double z2,
                               double x3,
                               double y3,
                               double z3,
                               double x4,
                               double y4,
                               double z4)

surface

public static ISurface surface(double x1,
                               double y1,
                               double z1,
                               double x2,
                               double y2,
                               double z2,
                               double x3,
                               double y3,
                               double z3)

surface

public static ISurface surface(double[][][] xyzValues)

surface

public static ISurface surface(double[][][] xyzValues,
                               int udeg,
                               int vdeg)

surface

public static ISurface surface(double[][][] xyzValues,
                               boolean closeU,
                               boolean closeV)

surface

public static ISurface surface(double[][][] xyzValues,
                               int udeg,
                               int vdeg,
                               boolean closeU,
                               boolean closeV)

surface

public static ISurface surface(ISurfaceI srf)

surface

public static ISurface surface(ICurveI trimCurve)

surface

public static ISurface surface(ICurveI trimCurve,
                               ICurveI[] innerTrimCurves)

surface

public static ISurface surface(ICurveI trimCurve,
                               ICurveI innerTrimCurve)

surface

public static ISurface surface(ICurveI[] trimCurves)

surface

public static ISurface surface(IVecI[] trimCrvPts)

surface

public static ISurface surface(IVecI[] trimCrvPts,
                               int trimCrvDeg)

surface

public static ISurface surface(IVecI[] trimCrvPts,
                               int trimCrvDeg,
                               double[] trimCrvKnots)

box

public static IBox box(double x,
                       double y,
                       double z,
                       double size)
box


box

public static IBox box(double x,
                       double y,
                       double z,
                       double width,
                       double height,
                       double depth)

box

public static IBox box(IVecI origin,
                       double size)

box

public static IBox box(IVecI origin,
                       double width,
                       double height,
                       double depth)

box

public static IBox box(IVecI origin,
                       IVecI xvec,
                       IVecI yvec,
                       IVecI zvec)

box

public static IBox box(IVecI pt1,
                       IVecI pt2,
                       IVecI pt3,
                       IVecI pt4,
                       IVecI pt5,
                       IVecI pt6,
                       IVecI pt7,
                       IVecI pt8)

box

public static IBox box(IVecI[][][] corners)

sphere

public static ISphere sphere(double x,
                             double y,
                             double z,
                             double radius)
sphere


sphere

public static ISphere sphere(IVecI center,
                             double radius)

sphere

public static ISphere sphere(IVecI center,
                             IDoubleI radius)

cylinder

public static ICylinder cylinder(IVecI pt1,
                                 IVecI pt2,
                                 double radius)

cylinder

public static ICylinder cylinder(IVecI pt1,
                                 IVecI pt2,
                                 IDoubleI radius)

cylinder

public static ICylinder cylinder(IVecI pt1,
                                 IVecI pt2,
                                 double radius1,
                                 double radius2)

cylinder

public static ICylinder cylinder(IVecI pt1,
                                 IVecI pt2,
                                 IDoubleI radius1,
                                 IDoubleI radius2)

cone

public static ICylinder cone(IVecI pt1,
                             IVecI pt2,
                             double radius)

cone

public static ICylinder cone(IVecI pt1,
                             IVecI pt2,
                             IDoubleI radius)

plane

public static ISurface plane(IVecI corner,
                             double xwidth,
                             double yheight)

plane

public static ISurface plane(IVecI corner,
                             IVecI widthVec,
                             IVecI heightVec)

extrude

public static ISurface extrude(IVecI[] profile,
                               double extrudeDepth)
one directional extrusion


extrude

public static ISurface extrude(IVecI[] profile,
                               IDoubleI extrudeDepth)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               double extrudeDepth)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               IDoubleI extrudeDepth)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               boolean closeProfile,
                               double extrudeDepth)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               boolean closeProfile,
                               IDoubleI extrudeDepth)

extrude

public static ISurface extrude(IVecI[] profile,
                               IVecI extrudeDir)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               IVecI extrudeDir)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               boolean closeProfile,
                               IVecI extrudeDir)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               double[] profileKnots,
                               IVecI extrudeDir)

extrude

public static ISurface extrude(IVecI[] profile,
                               ICurve rail)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               ICurve rail)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               boolean closeProfile,
                               ICurve rail)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               double[] profileKnots,
                               ICurve rail)

extrude

public static ISurface extrude(ICurveI profile,
                               IVecI extrudeDir)

extrude

public static ISurface extrude(ICurveI profile,
                               double extrudeDepth)

extrude

public static ISurface extrude(ICurveI profile,
                               IDoubleI extrudeDepth)

extrude

public static ISurface extrude(IVecI[] profile,
                               IVecI[] rail)
extrusion along path (profile control points are copied parallely)


extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               IVecI[] rail,
                               int railDeg)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               boolean closeProfile,
                               IVecI[] rail,
                               int railDeg,
                               boolean closeRail)

extrude

public static ISurface extrude(IVecI[] profile,
                               int profileDeg,
                               double[] profileKnots,
                               IVecI[] rail,
                               int railDeg,
                               double[] railKnots)

extrude

public static ISurface extrude(ICurveI profile,
                               ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             IVecI[] rail)
sweep (profile is redirected perpendicular to rail and centered(actually just on bisector of control points))


sweep

public static ISurface sweep(IVecI[] profile,
                             IVecI profileCenter,
                             IVecI[] rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             IVecI[] rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             IVecI[] rail,
                             int railDeg)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             IVecI profileCenter,
                             IVecI[] rail,
                             int railDeg)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             IVecI profileCenter,
                             IVecI profileDir,
                             IVecI[] rail,
                             int railDeg)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             boolean closeProfile,
                             IVecI[] rail,
                             int railDeg,
                             boolean closeRail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             boolean closeProfile,
                             IVecI profileCenter,
                             IVecI[] rail,
                             int railDeg,
                             boolean closeRail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             boolean closeProfile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             IVecI[] rail,
                             int railDeg,
                             boolean closeRail)

sweep

public static ISurface sweep(IVecI[] profile,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             IVecI profileCenter,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             IVecI profileCenter,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             IVecI profileCenter,
                             IVecI profileDir,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             boolean closeProfile,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             boolean closeProfile,
                             IVecI profileCenter,
                             ICurveI rail)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             boolean closeProfile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             ICurveI rail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI[] rail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             IVecI[] rail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             IVecI[] rail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI[] rail,
                             int railDeg)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             IVecI[] rail,
                             int railDeg)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             IVecI[] rail,
                             int railDeg)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI[] rail,
                             int railDeg,
                             boolean closeRail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             IVecI[] rail,
                             int railDeg,
                             boolean closeRail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             IVecI[] rail,
                             int railDeg,
                             boolean closeRail)

sweep

public static ISurface sweep(ICurveI profile,
                             ICurveI rail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             ICurveI rail)

sweep

public static ISurface sweep(ICurveI profile,
                             IVecI profileCenter,
                             IVecI profileDir,
                             ICurveI rail)
sweep.

Parameters:
profileCenter - point on profile to be located at the points of rail
profileDir - direction on profile to be aligned with the normal of rail

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             double[] profileKnots,
                             IVecI[] rail,
                             int railDeg,
                             double[] railKnots)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             double[] profileKnots,
                             IVecI profileCenter,
                             IVecI[] rail,
                             int railDeg,
                             double[] railKnots)

sweep

public static ISurface sweep(IVecI[] profile,
                             int profileDeg,
                             double[] profileKnots,
                             IVecI profileCenter,
                             IVecI profileDir,
                             IVecI[] rail,
                             int railDeg,
                             double[] railKnots)
sweep.

Parameters:
profileCenter - point on profile to be located at the points of rail
profileDir - direction on profile to be aligned with the normal of rail

sweepPoints

public static IVecI[][] sweepPoints(IVecI[] profile,
                                    int profileDeg,
                                    IVecI profileCenter,
                                    IVecI profileDir,
                                    IVecI[] rail,
                                    int railDeg)
control points for sweep.

Parameters:
profileCenter - point on profile to be located at the points of rail
profileDir - direction on profile to be aligned with the normal of rail

duplicatePoints

public static IVecI[] duplicatePoints(IVecI[] pts)
subroutines for sweep


duplicatePoints

public static IVecI[] duplicatePoints(IVecI[] pts,
                                      double weight)

orient

public static IVecI[] orient(IVecI[] profile,
                             IVecI profCenter,
                             IVecI railPt)
only moving profile points form profCenter to railPt. points are not duplicated.


orient

public static IVecI[] orient(IVecI[] profile,
                             IVecI profCenter,
                             IVecI profNml,
                             IVecI railPt,
                             IVecI railDir)

orient

public static IVecI[] orient(IVecI[] profile,
                             IVecI profCenter,
                             IVecI profNml,
                             IVecI profDir,
                             IVecI railPt,
                             IVecI railDir,
                             IVecI railNml)
Orienting profile points by matching profCenter with railPt, profNml with railDir, profDir with railNml.


orientAndBisect

public static IVecI[] orientAndBisect(IVecI[] profile,
                                      IVecI profCenter,
                                      IVecI profNml,
                                      IVecI railPt,
                                      IVecI railDir)

orientAndBisect

public static IVecI[] orientAndBisect(IVecI[] profile,
                                      IVecI profCenter,
                                      IVecI profNml,
                                      IVecI profDir,
                                      IVecI railPt,
                                      IVecI railDir,
                                      IVecI railNml)

isClosed

public static boolean isClosed(IVecI[] profile,
                               int profileDeg)

getCenter

public static IVec getCenter(IVecI[] profile,
                             int profileDeg)

pipe

public static ISurface pipe(IVecI pt1,
                            IVecI pt2,
                            double radius)
pipe


pipe

public static ISurface pipe(IVecI[] rail,
                            double radius)

pipe

public static ISurface pipe(IVecI[] rail,
                            int railDeg,
                            double radius)

pipe

public static ISurface pipe(IVecI[] rail,
                            int railDeg,
                            boolean close,
                            double radius)

pipe

public static ISurface pipe(ICurveI rail,
                            double radius)

pipe

public static ISurface pipe(IVecI[] rail,
                            int railDeg,
                            double[] railKnots,
                            double radius)

squarePipe

public static ISurface squarePipe(IVecI pt1,
                                  IVecI pt2,
                                  double size)

squarePipe

public static ISurface squarePipe(IVecI[] rail,
                                  double size)

squarePipe

public static ISurface squarePipe(IVecI[] rail,
                                  int deg,
                                  double size)

squarePipe

public static ISurface squarePipe(IVecI[] rail,
                                  int deg,
                                  boolean close,
                                  double size)

squarePipe

public static ISurface squarePipe(ICurveI rail,
                                  double size)

squarePipe

public static ISurface squarePipe(IVecI[] rail,
                                  int deg,
                                  double[] knots,
                                  double size)

rectPipe

public static ISurface rectPipe(IVecI pt1,
                                IVecI pt2,
                                double width,
                                double height)
Parameters:
width - size in the direction of offset of rail
height - size in the direction of normal of rail

rectPipe

public static ISurface rectPipe(IVecI pt1,
                                IVecI pt2,
                                double left,
                                double right,
                                double bottom,
                                double top)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                double width,
                                double height)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                double left,
                                double right,
                                double bottom,
                                double top)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                int deg,
                                double width,
                                double height)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                int deg,
                                double left,
                                double right,
                                double bottom,
                                double top)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                int deg,
                                boolean close,
                                double width,
                                double height)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                int deg,
                                boolean close,
                                double left,
                                double right,
                                double bottom,
                                double top)

rectPipe

public static ISurface rectPipe(ICurveI rail,
                                double width,
                                double height)

rectPipe

public static ISurface rectPipe(ICurveI rail,
                                double left,
                                double right,
                                double bottom,
                                double top)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                int deg,
                                double[] knots,
                                double width,
                                double height)

rectPipe

public static ISurface rectPipe(IVecI[] rail,
                                int deg,
                                double[] knots,
                                double left,
                                double right,
                                double bottom,
                                double top)

loft

public static ISurface loft(ICurveI[] curves)
loft


loft

public static ISurface loft(ICurveI curve1,
                            ICurveI curve2)

loft

public static ISurface loft(ICurveI[] curves,
                            int deg)

loft

public static ISurface loft(ICurveI[] curves,
                            int deg,
                            boolean close)

checkCPNumForLoft

public static int checkCPNumForLoft(ICurveI[] curves)
check if number of control points is same and returns minimum number


checkCPNumForLoft

public static IVecI[][] checkCPNumForLoft(IVecI[][] pts)

loft

public static ISurface loft(IVecI[][] pts)

loft

public static ISurface loft(IVecI[][] pts,
                            boolean closeLoft,
                            boolean closePts)

loft

public static ISurface loft(IVecI[][] pts,
                            int loftDeg,
                            int ptsDeg)

loft

public static ISurface loft(IVecI[][] pts,
                            int loftDeg,
                            int ptsDeg,
                            boolean closeLoft,
                            boolean closePts)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2,
                            boolean closePts)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2,
                            int ptsDeg)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2,
                            int ptsDeg,
                            boolean closePts)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2,
                            IVecI[] pts3)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2,
                            IVecI[] pts3,
                            boolean closePts)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2,
                            IVecI[] pts3,
                            int loftDeg,
                            int ptsDeg)

loft

public static ISurface loft(IVecI[] pts1,
                            IVecI[] pts2,
                            IVecI[] pts3,
                            int loftDeg,
                            int ptsDeg,
                            boolean closePts)

loftX

public static ISurface loftX(ICurveI[] curves)
loft with sorted curves in x


loftX

public static ISurface loftX(ICurveI[] curves,
                             int deg)

loftX

public static ISurface loftX(ICurveI[] curves,
                             int deg,
                             boolean close)

loftY

public static ISurface loftY(ICurveI[] curves)
loft with sorted curves in y


loftY

public static ISurface loftY(ICurveI[] curves,
                             int deg)

loftY

public static ISurface loftY(ICurveI[] curves,
                             int deg,
                             boolean close)

loftZ

public static ISurface loftZ(ICurveI[] curves)
loft with sorted curves in z


loftZ

public static ISurface loftZ(ICurveI[] curves,
                             int deg)

loftZ

public static ISurface loftZ(ICurveI[] curves,
                             int deg,
                             boolean close)

getCenter

public static IVec getCenter(ICurveI crv)

flatten

public static ISurface flatten(ISurfaceI surface,
                               IVecI planeDir,
                               IVecI planePt)

flatten

public static ISurface flatten(ISurfaceI surface,
                               IVecI planeDir)

flatten

public static ISurface flatten(ISurfaceI surface)

cap

public static IBrep cap(ISurfaceI surface)
cap a surface which is cyclically closed in u or v direction.


profileSurfaceGeo

public static ISurfaceGeo profileSurfaceGeo(IVecI[] cps,
                                            int deg,
                                            double[] knots)
surface defined by closed profile.if the profile is flat, planar surface is created. if not lofting profile into the center of the profile


profileSurface

public static ISurface profileSurface(IVecI[] cps,
                                      int deg,
                                      double[] knots)
surface defined by closed profile.if the profile is flat, planar surface is created. if not lofting profile into the center of the profile


profileSurface

public static ISurface profileSurface(ICurveI profile)
surface defined by closed profile.if the profile is flat, planar surface is created. if not lofting profile into the center of the profile


radialSurfaceGeo

public static ISurfaceGeo radialSurfaceGeo(IVecI[] cps,
                                           int deg,
                                           double[] knots)
surface by lofting profile into the center of the profile


radialSurface

public static ISurface radialSurface(IVecI[] cps,
                                     int deg,
                                     double[] knots)
surface by lofting profile into the center of the profile


radialSurface

public static ISurface radialSurface(ICurveI profile)
surface by lofting profile into the center of the profile


pointLoftGeo

public static ISurfaceGeo pointLoftGeo(IVecI[] cps,
                                       int deg,
                                       double[] knots,
                                       IVecI center)
surface by lofting profile into the specified point


pointLoft

public static ISurface pointLoft(IVecI[] cps,
                                 int deg,
                                 double[] knots,
                                 IVecI center)
surface by lofting profile into the specified point


pointLoft

public static ISurface pointLoft(ICurveI profile,
                                 IVecI center)
surface by lofting profile into the specified point