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

public class ICircleGeo
extends ICurveGeo

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

Version:
0.7.0.0;
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, 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
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()
           
 void init()
           
 void initApprox()
           
static IVec4[] ovalCP(IVec center, IVec xaxis, IVec yaxis)
           
static IVec[] ovalCPApprox(IVec center, IVec xaxis, IVec yaxis)
           
 
Methods inherited from class igeo.ICurveGeo
add, add, add, add, add, add, add, addCP, addCP, addCP, addCP, checkDuplicatedCP, checkDuplicatedCP, checkDuplicatedCP, checkDuplicatedCPOnEdge, cp, cp, cp, cp, cp, cp, cpNum, cpNum, cpNum, cps, deg, deg, deg, div, div, dup, end, endCP, ep, ep, epNum, epNum, epNum, flip, get, getPointsFromArray, init, init, init, init, init, insertCP, insertCP, isClosed, isClosed, isClosed, isRational, isRational, isRational, isValid, isValidCP, isValidCP, knot, knot, knotNum, knotNum, knotNum, knots, knots, knots, len, len, len, len, mirror, mirror, mul, mul, mv, mv, mv, neg, num, num, num, pt, pt, pt, ref, ref, removeCP, removeCP, removeCP, rev, 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, uend, uend, uend, ustart, ustart, ustart
 
Methods inherited from class igeo.INurbsGeo
createClosedCP, createClosedCPInU, createClosedCPInV, createClosedKnots, createKnots, createKnots, 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)

init

public void init()

initApprox

public void initApprox()