igeo
Class ICircleGeo

java.lang.Object
  extended by igeo.IParameterObject
      extended by igeo.INurbsGeo
          extended by igeo.ICurveGeo
              extended by igeo.ICircleGeo
All Implemented Interfaces:
ICurveI, ICurveOp, IEntityParameter, IParameter, ISubobject, ITransformable, IVal

public class ICircleGeo
extends ICurveGeo

Geometry class of a circle. Implemented as a type of NURBS curve.

Author:
Satoru Sugihara

Field Summary
 IVecI center
           
 IVecI normal
           
 IDoubleI xradius
           
 IDoubleI yradius
           
 
Fields inherited from class igeo.ICurveGeo
basisFunction, controlPoints, defaultWeights, degree, derivativeFunction, knots, uend, uSearchCache, ustart
 
Fields inherited from class igeo.IParameterObject
parent
 
Constructor Summary
ICircleGeo(IVecI center, IVecI normal, double radius)
           
ICircleGeo(IVecI center, IVecI normal, double radius, boolean approx)
           
ICircleGeo(IVecI center, IVecI normal, double xradius, double yradius)
           
ICircleGeo(IVecI center, IVecI normal, double xradius, double yradius, boolean approx)
           
ICircleGeo(IVecI center, IVecI normal, IDoubleI radius)
           
ICircleGeo(IVecI center, IVecI normal, IDoubleI radius, boolean approx)
           
ICircleGeo(IVecI center, IVecI normal, IDoubleI xradius, IDoubleI yradius)
           
ICircleGeo(IVecI center, IVecI normal, IDoubleI xradius, IDoubleI yradius, boolean approx)
           
ICircleGeo(IVecI center, IVecI xradiusVec, IVecI yradiusVec)
           
ICircleGeo(IVecI center, IVecI xradiusVec, IVecI yradiusVec, boolean approx)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, double radius)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, double radius, boolean approx)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, double xradius, double yradius)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, double xradius, double yradius, boolean approx)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, IDoubleI radius)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, IDoubleI radius, boolean approx)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, IDoubleI xradius, IDoubleI yradius)
           
ICircleGeo(IVecI center, IVecI normal, IVecI rollDir, IDoubleI xradius, IDoubleI yradius, boolean approx)
           
 
Method Summary
 IVec center()
          Returns center of geometry object.
 ICircleGeo center(IVecI c)
           
static IVec4[] circleCP(IVec center, double radius)
           
static IVec4[] circleCP(IVec center, IVec normal, double radius)
           
static IVec4[] circleCP(IVec center, IVec normal, IVec rollDir, double radius)
           
static IVec4[] circleCP(IVec center, IVec normal, IVec rollDir, double xradius, double yradius)
           
static IVec[] circleCPApprox(IVec center, IVec normal, IVec rollDir, double xradius, double yradius)
          for some platform where regular circle cp with duplicates cannot be shown properly.
static int circleDeg()
           
static double[] circleKnots()
           
static ICircleGeo circumcircle(IVecI pt1, IVecI pt2, IVecI pt3)
           
 ICircleGeo cps(IVecI[] cps)
           
 void init()
           
 void initApprox()
           
 IVec nml()
           
 ICircleGeo nml(IVec n)
           
static IVec4[] ovalCP(IVec center, IVec xaxis, IVec yaxis)
           
static IVec[] ovalCPApprox(IVec center, IVec xaxis, IVec yaxis)
           
 double radius()
           
 ICircleGeo radius(double r)
           
 ICircleGeo radius(IDoubleI r)
           
 ICircleGeo update(IVecI center, IVecI normal, IDoubleI xradius, IDoubleI yradius, boolean approx)
           
 ICircleGeo update(IVecI center, IVecI xradiusVec, IVecI yradiusVec, boolean approx)
           
 ICircleGeo update(IVecI center, IVecI normal, IVecI rollDir, IDoubleI xradius, IDoubleI yradius, boolean approx)
           
 double xradius()
           
 ICircleGeo xradius(double r)
           
 ICircleGeo xradius(IDoubleI r)
           
 double yradius()
           
 ICircleGeo yradius(double r)
           
 ICircleGeo yradius(IDoubleI r)
           
 
Methods inherited from class igeo.ICurveGeo
add, add, add, add, add, add, add, addCP, addCP, addCP, addCP, addCP, addCP, addCP, addCP, checkDuplicatedCP, checkDuplicatedCP, checkDuplicatedCP, checkDuplicatedCPOnEdge, closePt, closePt, cp, cp, cp, cp, cp, cp, cpNum, cpNum, cpNum, cps, deg, deg, deg, dist, dist, div, div, dup, end, endCP, ep, ep, epNum, epNum, epNum, flip, flipU, get, getPointsFromArray, init, init, init, init, init, insertCP, insertCP, isClosed, isClosed, isClosed, isInside2d, isInside2d, isRational, isRational, isRational, isValid, isValidCP, isValidCP, knot, knot, knotNum, knotNum, knotNum, knots, knots, knots, len, len, len, len, mid, mirror, mirror, mul, mul, mv, mv, mv, neg, num, num, num, overlapCPNum, pt, pt, pt, ref, ref, removeCP, removeCP, removeCP, rev, revU, rot, rot, rot, rot, rot, rot, rot, rot, rot2, rot2, rot2, rot2, rot2, rot2, scale, scale, scale, scale, scale1d, scale1d, scale1d, scale1d, shear, shear, shear, shear, shearXY, shearXY, shearXY, shearXY, shearYZ, shearYZ, shearYZ, shearYZ, shearZX, shearZX, shearZX, shearZX, start, startCP, sub, sub, sub, tan, tan, tan, transform, transform, transform, transform, translate, translate, translate, u, u, u, u, u, u, u, u, uend, uend, uend, updateCache, ustart, ustart, ustart
 
Methods inherited from class igeo.INurbsGeo
createClosedCP, createClosedCPInU, createClosedCPInV, createClosedKnots, createKnots, createKnots, invertKnots, isValidKnots, normalizeKnots
 
Methods inherited from class igeo.IParameterObject
createObject, parent, parent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

center

public IVecI center

normal

public IVecI normal

xradius

public IDoubleI xradius

yradius

public IDoubleI yradius
Constructor Detail

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IDoubleI radius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  double radius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IDoubleI xradius,
                  IDoubleI yradius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  double xradius,
                  double yradius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  double radius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  IDoubleI radius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  double xradius,
                  double yradius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  IDoubleI xradius,
                  IDoubleI yradius)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI xradiusVec,
                  IVecI yradiusVec)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IDoubleI radius,
                  boolean approx)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  double radius,
                  boolean approx)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  double xradius,
                  double yradius,
                  boolean approx)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IDoubleI xradius,
                  IDoubleI yradius,
                  boolean approx)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  double radius,
                  boolean approx)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  IDoubleI radius,
                  boolean approx)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  double xradius,
                  double yradius,
                  boolean approx)

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI normal,
                  IVecI rollDir,
                  IDoubleI xradius,
                  IDoubleI yradius,
                  boolean approx)
Parameters:
rollDir - direction of start point

ICircleGeo

public ICircleGeo(IVecI center,
                  IVecI xradiusVec,
                  IVecI yradiusVec,
                  boolean approx)
Method Detail

circleDeg

public static int circleDeg()

circleKnots

public static double[] circleKnots()

circleCP

public static IVec4[] circleCP(IVec center,
                               double radius)

circleCP

public static IVec4[] circleCP(IVec center,
                               IVec normal,
                               double radius)

circleCP

public static IVec4[] circleCP(IVec center,
                               IVec normal,
                               IVec rollDir,
                               double radius)

circleCP

public static IVec4[] circleCP(IVec center,
                               IVec normal,
                               IVec rollDir,
                               double xradius,
                               double yradius)

ovalCP

public static IVec4[] ovalCP(IVec center,
                             IVec xaxis,
                             IVec yaxis)

circleCPApprox

public static IVec[] circleCPApprox(IVec center,
                                    IVec normal,
                                    IVec rollDir,
                                    double xradius,
                                    double yradius)
for some platform where regular circle cp with duplicates cannot be shown properly. (ex. AI) knots for these control points can be uniform.


ovalCPApprox

public static IVec[] ovalCPApprox(IVec center,
                                  IVec xaxis,
                                  IVec yaxis)

circumcircle

public static ICircleGeo circumcircle(IVecI pt1,
                                      IVecI pt2,
                                      IVecI pt3)

init

public void init()

initApprox

public void initApprox()

update

public ICircleGeo update(IVecI center,
                         IVecI normal,
                         IDoubleI xradius,
                         IDoubleI yradius,
                         boolean approx)

update

public ICircleGeo update(IVecI center,
                         IVecI normal,
                         IVecI rollDir,
                         IDoubleI xradius,
                         IDoubleI yradius,
                         boolean approx)

update

public ICircleGeo update(IVecI center,
                         IVecI xradiusVec,
                         IVecI yradiusVec,
                         boolean approx)

cps

public ICircleGeo cps(IVecI[] cps)

center

public IVec center()
Description copied from class: ICurveGeo
Returns center of geometry object. This is approximation calculated only by control points

Specified by:
center in interface ICurveI
Overrides:
center in class ICurveGeo

center

public ICircleGeo center(IVecI c)

nml

public IVec nml()

nml

public ICircleGeo nml(IVec n)

radius

public double radius()

radius

public ICircleGeo radius(double r)

radius

public ICircleGeo radius(IDoubleI r)

xradius

public double xradius()

xradius

public ICircleGeo xradius(double r)

xradius

public ICircleGeo xradius(IDoubleI r)

yradius

public double yradius()

yradius

public ICircleGeo yradius(double r)

yradius

public ICircleGeo yradius(IDoubleI r)