public class ISurfaceGeo extends INurbsGeo implements ISurfaceI, IEntityParameter
| Modifier and Type | Field and Description |
|---|---|
IBSplineBasisFunction |
basisFunctionU |
IBSplineBasisFunction |
basisFunctionV |
IVecI[][] |
controlPoints |
boolean[][] |
defaultWeights
flag to determine to use default weight value (1.0)
|
IBSplineBasisFunction |
derivativeFunctionU |
IBSplineBasisFunction |
derivativeFunctionV |
boolean |
innerTrimClosed |
java.util.ArrayList<java.util.ArrayList<ITrimCurve>> |
innerTrimLoop |
boolean |
outerTrimClosed |
java.util.ArrayList<java.util.ArrayList<ITrimCurve>> |
outerTrimLoop |
ITrimCache |
trimCache |
int |
udegree |
double |
uend |
double[] |
uknots
normalized knot vector (start value in knot vector is 0, end value is 1)
|
double |
ustart |
ISurfaceCache |
uvSearchCache
point cache for proximity search
|
int |
vdegree |
double |
vend |
double[] |
vknots
normalized knot vector (start value in knot vector is 0, end value is 1)
|
double |
vstart |
parent| Constructor and Description |
|---|
ISurfaceGeo() |
ISurfaceGeo(double[][][] xyzValues) |
ISurfaceGeo(double[][][] xyzValues,
boolean closeU,
boolean closeV) |
ISurfaceGeo(double[][][] xyzValues,
int udeg,
int vdeg) |
ISurfaceGeo(double[][][] xyzValues,
int udeg,
int vdeg,
boolean closeU,
boolean closeV) |
ISurfaceGeo(double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
double z3) |
ISurfaceGeo(double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
double z3,
double x4,
double y4,
double z4) |
ISurfaceGeo(ICurveI trimCurve)
create surface with outer trim curve
|
ISurfaceGeo(ICurveI[] trimCurves) |
ISurfaceGeo(ICurveI trimCurve,
ICurveI innerTrimCurve) |
ISurfaceGeo(ICurveI trimCurve,
ICurveI[] innerTrimCurves) |
ISurfaceGeo(ISurfaceGeo srf) |
ISurfaceGeo(IVecI[] trimCrvPts) |
ISurfaceGeo(IVecI[][] cpts) |
ISurfaceGeo(IVecI[][] cpts,
boolean closeU,
boolean closeV) |
ISurfaceGeo(IVecI[][] cpts,
int udegree,
int vdegree) |
ISurfaceGeo(IVecI[][] cpts,
int udegree,
int vdegree,
boolean closeU,
boolean closeV) |
ISurfaceGeo(IVecI[][] cpts,
int udegree,
int vdegree,
boolean closeU,
double[] vk) |
ISurfaceGeo(IVecI[][] cpts,
int udegree,
int vdegree,
double[] uk,
boolean closeV) |
ISurfaceGeo(IVecI[][] cpts,
int udegree,
int vdegree,
double[] uknots,
double[] vknots) |
ISurfaceGeo(IVecI[][] cpts,
int udegree,
int vdegree,
double[] uknots,
double[] vknots,
double ustart,
double uend,
double vstart,
double vend) |
ISurfaceGeo(IVecI[] trimCrvPts,
int trimCrvDeg) |
ISurfaceGeo(IVecI[] trimCrvPts,
int trimCrvDeg,
double[] trimCrvKnots) |
ISurfaceGeo(IVecI[] trimCrvPts,
int trimCrvDeg,
double[] trimCrvKnots,
IVecI[][] innerTrimCrvPts,
int[] innerTrimCrvDeg,
double[][] innerTrimCrvKnots) |
ISurfaceGeo(IVecI[] trimCrvPts,
int trimCrvDeg,
double[] trimCrvKnots,
IVecI[] innerTrimCrvPts,
int innerTrimCrvDeg,
double[] innerTrimCrvKnots) |
ISurfaceGeo(IVecI[] trimCrvPts,
int trimCrvDeg,
IVecI[][] innerTrimCrvPts,
int[] innerTrimCrvDeg) |
ISurfaceGeo(IVecI[] trimCrvPts,
int trimCrvDeg,
IVecI[] innerTrimCrvPts,
int innerTrimCrvDeg) |
ISurfaceGeo(IVecI[] trimCrvPts,
IVecI[] innerTrimCrvPts) |
ISurfaceGeo(IVecI[] trimCrvPts,
IVecI[][] innerTrimCrvPts) |
ISurfaceGeo(IVecI pt1,
IVecI pt2,
IVecI pt3) |
ISurfaceGeo(IVecI pt1,
IVecI pt2,
IVecI pt3,
IVecI pt4) |
| Modifier and Type | Method and Description |
|---|---|
ISurfaceGeo |
add(double x,
double y,
double z)
transformation methods; API of ITransformable interface
|
ISurfaceGeo |
add(double f,
IVecI v)
scale add alias
|
ISurfaceGeo |
add(IDoubleI x,
IDoubleI y,
IDoubleI z) |
ISurfaceGeo |
add(IDoubleI f,
IVecI v)
scale add alias
|
ISurfaceGeo |
add(IVecI v) |
ISurfaceGeo |
add(IVecI v,
double f)
scale add
|
ISurfaceGeo |
add(IVecI v,
IDoubleI f)
scale add
|
ISurfaceGeo |
addDefaultOuterTrimLoop() |
ISurfaceGeo |
addInnerTrim(ITrimCurve trimCrv) |
ISurfaceGeo |
addInnerTrimLoop(ICurveI trim)
input trim curves is deleted as default if it inherits IObject like ICurve or ICurveR
|
ISurfaceGeo |
addInnerTrimLoop(ICurveI[] trim)
input trim curves is deleted as default if it inherits IObject like ICurve or ICurveR
|
ISurfaceGeo |
addInnerTrimLoop(ICurveI[] trim,
boolean deleteInput) |
ISurfaceGeo |
addInnerTrimLoop(ICurveI trim,
boolean deleteInput) |
ISurfaceGeo |
addInnerTrimLoop(ITrimCurve loop) |
ISurfaceGeo |
addInnerTrimLoop(ITrimCurve[] loop) |
ISurfaceGeo |
addInnerTrimLoop(ITrimCurveI loop) |
ISurfaceGeo |
addInnerTrimLoop(ITrimCurveI[] loop) |
ISurfaceGeo |
addOuterTrim(ITrimCurve trimCrv) |
ISurfaceGeo |
addOuterTrimLoop(ICurveI trim) |
ISurfaceGeo |
addOuterTrimLoop(ICurveI[] trim) |
ISurfaceGeo |
addOuterTrimLoop(ICurveI[] trim,
boolean deleteInput) |
ISurfaceGeo |
addOuterTrimLoop(ICurveI trim,
boolean deleteInput) |
ISurfaceGeo |
addOuterTrimLoop(ITrimCurve loop) |
ISurfaceGeo |
addOuterTrimLoop(ITrimCurve[] loop) |
ISurfaceGeo |
addOuterTrimLoop(ITrimCurveI loop) |
ISurfaceGeo |
addOuterTrimLoop(ITrimCurveI[] loop) |
ISurfaceGeo |
addUCP(IVecI[] pts)
add control point at the end and rebuild the surface
note that a knots is rebuilt with default equal intervals
and destroy original knot intervals if variable, like circle.
|
ISurfaceGeo |
addVCP(IVecI[] pts)
add control point at the end and rebuild the surface
note that a knots is rebuilt with default equal intervals
and destroy original knot intervals if variable, like circle.
|
IVec |
center()
returns center of geometry object
|
static void |
checkDuplicatedCP(IVecI[][] cpts) |
static void |
checkDuplicatedCP(IVecI[][] cpts,
IVecI[] pts) |
static void |
checkDuplicatedCPOnEdge(IVecI[][] cpts) |
boolean |
checkTrim(ITrimCurve curve) |
boolean |
checkTrimLoop(ITrimCurve loop) |
boolean |
checkTrimLoop(ITrimCurve[] loop) |
ISurfaceGeo |
clearInnerTrim() |
ISurfaceGeo |
clearOuterTrim() |
ISurfaceGeo |
clearTrim() |
ISurfaceGeo |
closeInnerTrim() |
ISurfaceGeo |
closeOuterTrim() |
IVec |
closePt(IVec2I pt)
find approximately closest point on a surface on 2D
|
IVec |
closePt(IVecI pt)
find approximately closest point on a surface
|
IVec |
corner(IIntegerI u,
IIntegerI v) |
IVec |
corner(int u,
int v) |
IVecI |
cornerCP(IIntegerI u,
IIntegerI v) |
IVec |
cornerCP(int u,
int v) |
ISurfaceGeo |
cp()
cp() is alias of dup()
|
ISurfaceGeo |
cp(double x,
double y,
double z)
cp() is alias of dup().add()
|
ISurfaceGeo |
cp(IDoubleI x,
IDoubleI y,
IDoubleI z)
cp() is alias of dup().add()
|
IVecI |
cp(IIntegerI i,
IIntegerI j)
getting control point at i and j
|
IVecI |
cp(int i,
int j)
getting control point at i and j
|
ISurfaceGeo |
cp(IVecI v)
cp() is alias of dup().add()
|
IVecI[][] |
cps() |
double |
dist(IVec2I pt)
distance to the closest point on a surface on 2D
|
double |
dist(IVecI pt)
distance to the closest point on a surface
|
ISurfaceGeo |
div(double v) |
ISurfaceGeo |
div(IDoubleI v) |
ISurfaceGeo |
dup()
duplicate the instance
|
IVec |
ep(IIntegerI i,
IIntegerI j)
getting edit point at i and j
|
IVec |
ep(int i,
int j)
getting edit point at i and j
|
ISurfaceGeo |
flip()
alias of neg
|
ISurfaceGeo |
flipN()
alias of flipN()
|
ISurfaceGeo |
flipU()
alias of revU()
|
ISurfaceGeo |
flipUV()
alias of revUV()
|
ISurfaceGeo |
flipV()
alias of revV()
|
ISurfaceGeo |
get() |
static IVec[] |
getPlanarUVPoints(IVecI[] pts,
IVecI origin,
IVec uvec,
IVec vvec) |
static double[][] |
getPlanarUVRange(IVec[] uvpts) |
static IVec[] |
getPlanarUVVectors(IVecI[] pts) |
static IVec[][] |
getPointsFromArray(double[][][] xyzvalues) |
boolean |
hasDefaultTrim()
default trim is rectangular outer trim at the exact boundary of untrimmed surface
|
boolean |
hasDefaultTrim(ISwitchE e) |
IBool |
hasDefaultTrim(ISwitchR r) |
boolean |
hasInnerTrim() |
boolean |
hasInnerTrim(ISwitchE e) |
IBool |
hasInnerTrim(ISwitchR r) |
boolean |
hasOuterTrim() |
boolean |
hasOuterTrim(ISwitchE e) |
IBool |
hasOuterTrim(ISwitchR r) |
boolean |
hasTrim() |
boolean |
hasTrim(ISwitchE e) |
IBool |
hasTrim(ISwitchR r) |
void |
init(IVecI[][] cpts,
int udeg,
int vdeg,
boolean closeU,
boolean closeV) |
void |
init(IVecI[][] cpts,
int udeg,
int vdeg,
boolean closeU,
double[] vk) |
void |
init(IVecI[][] cpts,
int udeg,
int vdeg,
double[] uk,
boolean closeV) |
void |
init(IVecI[][] cpts,
int udeg,
int vdeg,
double[] uk,
double[] vk) |
void |
initWithPlanarTrim(IVecI[] cpts,
int trimDeg,
double[] trimKnots,
boolean close) |
void |
initWithPlanarTrim(IVecI[] cpts,
int trimDeg,
double[] trimKnots,
boolean close,
IVecI[][] innerCpts,
int[] innerTrimDeg,
double[][] innerTrimKnots,
boolean[] innerClose) |
void |
initWithPlanarTrims(ICurveI[] curves) |
ITrimCurveI |
innerTrim(IIntegerI i,
IIntegerI j) |
ITrimCurveI |
innerTrim(int i,
int j) |
ITrimCurveI[] |
innerTrimLoop(IIntegerI i) |
ITrimCurveI[] |
innerTrimLoop(int i) |
int |
innerTrimLoopNum() |
int |
innerTrimLoopNum(ISwitchE e) |
IInteger |
innerTrimLoopNum(ISwitchR r) |
IInteger |
innerTrimNum(IIntegerI i) |
int |
innerTrimNum(int i) |
boolean |
isFlat()
is the surface planar and flat
|
boolean |
isFlat(ISwitchE e) |
IBool |
isFlat(ISwitchR r) |
boolean |
isInsideTrim(double u,
double v) |
boolean |
isInsideTrim(IVec2 v)
check if a u-v point is inside trim curves.
|
boolean |
isInsideTrim(IVec2I v) |
boolean |
isRational() |
boolean |
isRational(ISwitchE e) |
IBool |
isRational(ISwitchR r) |
static boolean |
isTrimCurveCPInsideBoundary(ITrimCurveI crv,
double u1,
double v1,
double u2,
double v2) |
static boolean |
isTrimCurveInsideBoundary(ITrimCurveI crv,
double u1,
double v1,
double u2,
double v2) |
static boolean |
isTrimLoopClosed(ITrimCurveI[] crv) |
static boolean |
isTrimLoopInsideBoundary(ITrimCurveI[] crv,
double u1,
double v1,
double u2,
double v2) |
boolean |
isUClosed()
is the surface closed in u direction
|
boolean |
isUClosed(ISwitchE e) |
IBool |
isUClosed(ISwitchR r) |
boolean |
isValid() |
static boolean |
isValidCP(IVecI[][] cpts) |
static boolean |
isValidCP(IVecI[][] cpts,
int udeg,
int vdeg,
double[] uknots,
double[] vknots) |
boolean |
isVClosed()
is the surface closed in v direction
|
boolean |
isVClosed(ISwitchE e) |
IBool |
isVClosed(ISwitchR r) |
IVec |
mid()
mid in UV parameter (u=0.5, v=0.5) point on a surface
|
ISurfaceGeo |
mirror(IVecI planeDir)
mirror is alias of ref
|
ISurfaceGeo |
mirror(IVecI center,
IVecI planeDir) |
ISurfaceGeo |
mul(double v) |
ISurfaceGeo |
mul(IDoubleI v) |
ISurfaceGeo |
mv(double x,
double y,
double z)
mv() is alias of add()
|
ISurfaceGeo |
mv(IDoubleI x,
IDoubleI y,
IDoubleI z) |
ISurfaceGeo |
mv(IVecI v) |
ISurfaceGeo |
neg() |
IVec |
nml(double u,
double v)
alias of normal
|
void |
nml(double u,
double v,
IVec retval) |
IVec |
nml(IDoubleI u,
IDoubleI v) |
IVec |
nml(IVec2I v) |
IVec |
normal(double u,
double v) |
void |
normal(double u,
double v,
IVec retval) |
IVec |
normal(IDoubleI u,
IDoubleI v) |
IVec |
normal(IVec2I v) |
IVec |
nrml(double u,
double v) |
void |
nrml(double u,
double v,
IVec retval) |
IVec |
nrml(IDoubleI u,
IDoubleI v) |
IVec |
nrml(IVec2I v) |
ITrimCurveI |
outerTrim(IIntegerI i,
IIntegerI j) |
ITrimCurveI |
outerTrim(int i,
int j) |
ITrimCurveI[] |
outerTrimLoop(IIntegerI i) |
ITrimCurveI[] |
outerTrimLoop(int i) |
int |
outerTrimLoopNum() |
int |
outerTrimLoopNum(ISwitchE e) |
IInteger |
outerTrimLoopNum(ISwitchR r) |
IInteger |
outerTrimNum(IIntegerI i) |
int |
outerTrimNum(int i) |
IVec |
pt(double u,
double v) |
IVec |
pt(double u,
double v,
double n) |
void |
pt(double u,
double v,
IVec retval) |
IVec |
pt(IDoubleI u,
IDoubleI v) |
IVec |
pt(IDoubleI u,
IDoubleI v,
IDoubleI n) |
IVec |
pt(IVec v) |
IVec |
pt(IVec2I v) |
IVec |
pt(IVecI v) |
ISurfaceGeo |
ref(IVecI planeDir)
reflect(mirror) 3 dimensionally to the other side of the plane
|
ISurfaceGeo |
ref(IVecI center,
IVecI planeDir) |
ISurfaceGeo |
revN()
reverse normal direction.
|
ISurfaceGeo |
revTrimU() |
ISurfaceGeo |
revU()
reverse U parameter.
|
ISurfaceGeo |
revUV()
reverse U and V parameter at the same time
|
ISurfaceGeo |
revV()
reverse V parameter.
|
ISurfaceGeo |
rot(double angle) |
ISurfaceGeo |
rot(IDoubleI angle)
rotation around z-axis and origin
|
ISurfaceGeo |
rot(IVecI axis,
double angle) |
ISurfaceGeo |
rot(IVecI axis,
IDoubleI angle)
rotation around axis vector
|
ISurfaceGeo |
rot(IVecI axis,
IVecI destDir)
rotate to destination direction vector
|
ISurfaceGeo |
rot(IVecI center,
IVecI axis,
double angle) |
ISurfaceGeo |
rot(IVecI center,
IVecI axis,
IDoubleI angle)
rotation around axis vector and center
|
ISurfaceGeo |
rot(IVecI center,
IVecI axis,
IVecI destPt)
rotate to destination point location
|
ISurfaceGeo |
rot2(double angle)
rotation on xy-plane around origin; same with rot(double)
|
ISurfaceGeo |
rot2(IDoubleI angle)
rotation on xy-plane around origin; same with rot(IDoubleI)
|
ISurfaceGeo |
rot2(IVecI destDir)
rotation on xy-plane to destination direction vector
|
ISurfaceGeo |
rot2(IVecI center,
double angle) |
ISurfaceGeo |
rot2(IVecI center,
IDoubleI angle)
rotation on xy-plane around center
|
ISurfaceGeo |
rot2(IVecI center,
IVecI destPt)
rotation on xy-plane to destination point location
|
ISurfaceGeo |
scale(double f) |
ISurfaceGeo |
scale(IDoubleI f)
alias of mul
|
ISurfaceGeo |
scale(IVecI center,
double f) |
ISurfaceGeo |
scale(IVecI center,
IDoubleI f) |
ISurfaceGeo |
scale1d(IVecI axis,
double f)
scale only in 1 direction
|
ISurfaceGeo |
scale1d(IVecI axis,
IDoubleI f) |
ISurfaceGeo |
scale1d(IVecI center,
IVecI axis,
double f) |
ISurfaceGeo |
scale1d(IVecI center,
IVecI axis,
IDoubleI f) |
ISurfaceGeo |
shear(double sxy,
double syx,
double syz,
double szy,
double szx,
double sxz)
shear operation
|
ISurfaceGeo |
shear(IDoubleI sxy,
IDoubleI syx,
IDoubleI syz,
IDoubleI szy,
IDoubleI szx,
IDoubleI sxz) |
ISurfaceGeo |
shear(IVecI center,
double sxy,
double syx,
double syz,
double szy,
double szx,
double sxz) |
ISurfaceGeo |
shear(IVecI center,
IDoubleI sxy,
IDoubleI syx,
IDoubleI syz,
IDoubleI szy,
IDoubleI szx,
IDoubleI sxz) |
ISurfaceGeo |
shearXY(double sxy,
double syx) |
ISurfaceGeo |
shearXY(IDoubleI sxy,
IDoubleI syx) |
ISurfaceGeo |
shearXY(IVecI center,
double sxy,
double syx) |
ISurfaceGeo |
shearXY(IVecI center,
IDoubleI sxy,
IDoubleI syx) |
ISurfaceGeo |
shearYZ(double syz,
double szy) |
ISurfaceGeo |
shearYZ(IDoubleI syz,
IDoubleI szy) |
ISurfaceGeo |
shearYZ(IVecI center,
double syz,
double szy) |
ISurfaceGeo |
shearYZ(IVecI center,
IDoubleI syz,
IDoubleI szy) |
ISurfaceGeo |
shearZX(double szx,
double sxz) |
ISurfaceGeo |
shearZX(IDoubleI szx,
IDoubleI sxz) |
ISurfaceGeo |
shearZX(IVecI center,
double szx,
double sxz) |
ISurfaceGeo |
shearZX(IVecI center,
IDoubleI szx,
IDoubleI sxz) |
ISurfaceGeo |
sub(double x,
double y,
double z) |
ISurfaceGeo |
sub(IDoubleI x,
IDoubleI y,
IDoubleI z) |
ISurfaceGeo |
sub(IVecI v) |
ISurfaceGeo |
swapUV()
swap U and V parameter
|
ISurfaceGeo |
transform(IMatrix3I mat) |
ISurfaceGeo |
transform(IMatrix4I mat) |
ISurfaceGeo |
transform(IVecI xvec,
IVecI yvec,
IVecI zvec) |
ISurfaceGeo |
transform(IVecI xvec,
IVecI yvec,
IVecI zvec,
IVecI translate) |
ISurfaceGeo |
translate(double x,
double y,
double z)
translate() is alias of add()
|
ISurfaceGeo |
translate(IDoubleI x,
IDoubleI y,
IDoubleI z) |
ISurfaceGeo |
translate(IVecI v) |
IDouble |
u(IIntegerI epIdx,
IDoubleI epFraction) |
double |
u(int epIdx,
double epFraction) |
int |
ucpNum() |
int |
ucpNum(ISwitchE e) |
IInteger |
ucpNum(ISwitchR r) |
int |
udeg() |
int |
udeg(ISwitchE e) |
IInteger |
udeg(ISwitchR r) |
double |
uend() |
double |
uend(ISwitchE e) |
IDouble |
uend(ISwitchR r) |
int |
uepNum() |
int |
uepNum(ISwitchE e) |
IInteger |
uepNum(ISwitchR r) |
IDouble |
uknot(IIntegerI i) |
double |
uknot(int i) |
int |
uknotNum() |
int |
uknotNum(ISwitchE e) |
IInteger |
uknotNum(ISwitchR r) |
double[] |
uknots() |
double[] |
uknots(ISwitchE e) |
IDouble[] |
uknots(ISwitchR r) |
int |
unum() |
int |
unum(ISwitchE e) |
IInteger |
unum(ISwitchR r) |
ISurfaceGeo |
updateCache() |
double |
ustart()
original knots start value and end value
|
double |
ustart(ISwitchE e) |
IDouble |
ustart(ISwitchR r) |
IVec |
utan(double u,
double v) |
void |
utan(double u,
double v,
IVec retval) |
IVec |
utan(IDoubleI u,
IDoubleI v) |
IVec |
utan(IVec2I v) |
IVec2 |
uv(IVec2I pt)
approximate invert projection from 2D location to interanl UV parameter (closest point on surface)
|
IVec2 |
uv(IVecI pt)
approximate invert projection from 3D location to interanl UV parameter (closest point on surface)
|
IDouble |
v(IIntegerI epIdx,
IDoubleI epFraction) |
double |
v(int epIdx,
double epFraction) |
int |
vcpNum() |
int |
vcpNum(ISwitchE e) |
IInteger |
vcpNum(ISwitchR r) |
int |
vdeg() |
int |
vdeg(ISwitchE e) |
IInteger |
vdeg(ISwitchR r) |
double |
vend() |
double |
vend(ISwitchE e) |
IDouble |
vend(ISwitchR r) |
int |
vepNum() |
int |
vepNum(ISwitchE e) |
IInteger |
vepNum(ISwitchR r) |
IDouble |
vknot(IIntegerI i) |
double |
vknot(int i) |
int |
vknotNum() |
int |
vknotNum(ISwitchE e) |
IInteger |
vknotNum(ISwitchR r) |
double[] |
vknots() |
double[] |
vknots(ISwitchE e) |
IDouble[] |
vknots(ISwitchR r) |
int |
vnum() |
int |
vnum(ISwitchE e) |
IInteger |
vnum(ISwitchR r) |
double |
vstart() |
double |
vstart(ISwitchE e) |
IDouble |
vstart(ISwitchR r) |
IVec |
vtan(double u,
double v) |
void |
vtan(double u,
double v,
IVec retval) |
IVec |
vtan(IDoubleI u,
IDoubleI v) |
IVec |
vtan(IVec2I v) |
createClosedCP, createClosedCPInU, createClosedCPInV, createClosedKnots, createKnots, createKnots, invertKnots, isValidKnots, normalizeKnotscreateObject, parent, parentpublic IVecI[][] controlPoints
public int udegree
public int vdegree
public double[] uknots
public double[] vknots
public double ustart
public double uend
public double vstart
public double vend
public boolean[][] defaultWeights
public IBSplineBasisFunction basisFunctionU
public IBSplineBasisFunction basisFunctionV
public IBSplineBasisFunction derivativeFunctionU
public IBSplineBasisFunction derivativeFunctionV
public java.util.ArrayList<java.util.ArrayList<ITrimCurve>> innerTrimLoop
public java.util.ArrayList<java.util.ArrayList<ITrimCurve>> outerTrimLoop
public boolean innerTrimClosed
public boolean outerTrimClosed
public ISurfaceCache uvSearchCache
public ITrimCache trimCache
public ISurfaceGeo()
public ISurfaceGeo(IVecI[][] cpts, int udegree, int vdegree, double[] uknots, double[] vknots, double ustart, double uend, double vstart, double vend)
public ISurfaceGeo(IVecI[][] cpts, int udegree, int vdegree, double[] uknots, double[] vknots)
public ISurfaceGeo(IVecI[][] cpts, int udegree, int vdegree)
public ISurfaceGeo(IVecI[][] cpts)
public ISurfaceGeo(IVecI[][] cpts, int udegree, int vdegree, boolean closeU, boolean closeV)
public ISurfaceGeo(IVecI[][] cpts, int udegree, int vdegree, boolean closeU, double[] vk)
public ISurfaceGeo(IVecI[][] cpts, int udegree, int vdegree, double[] uk, boolean closeV)
public ISurfaceGeo(IVecI[][] cpts, boolean closeU, boolean closeV)
public ISurfaceGeo(double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
double z3,
double x4,
double y4,
double z4)
public ISurfaceGeo(double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
double z3)
public ISurfaceGeo(double[][][] xyzValues)
public ISurfaceGeo(double[][][] xyzValues,
int udeg,
int vdeg)
public ISurfaceGeo(double[][][] xyzValues,
boolean closeU,
boolean closeV)
public ISurfaceGeo(double[][][] xyzValues,
int udeg,
int vdeg,
boolean closeU,
boolean closeV)
public ISurfaceGeo(ICurveI trimCurve)
public ISurfaceGeo(ICurveI[] trimCurves)
public ISurfaceGeo(IVecI[] trimCrvPts)
public ISurfaceGeo(IVecI[] trimCrvPts, int trimCrvDeg)
public ISurfaceGeo(IVecI[] trimCrvPts, int trimCrvDeg, double[] trimCrvKnots)
public ISurfaceGeo(IVecI[] trimCrvPts, int trimCrvDeg, IVecI[] innerTrimCrvPts, int innerTrimCrvDeg)
public ISurfaceGeo(IVecI[] trimCrvPts, int trimCrvDeg, double[] trimCrvKnots, IVecI[] innerTrimCrvPts, int innerTrimCrvDeg, double[] innerTrimCrvKnots)
public ISurfaceGeo(IVecI[] trimCrvPts, int trimCrvDeg, IVecI[][] innerTrimCrvPts, int[] innerTrimCrvDeg)
public ISurfaceGeo(IVecI[] trimCrvPts, int trimCrvDeg, double[] trimCrvKnots, IVecI[][] innerTrimCrvPts, int[] innerTrimCrvDeg, double[][] innerTrimCrvKnots)
public ISurfaceGeo(ISurfaceGeo srf)
public void init(IVecI[][] cpts, int udeg, int vdeg, boolean closeU, boolean closeV)
public void init(IVecI[][] cpts, int udeg, int vdeg, double[] uk, boolean closeV)
public void init(IVecI[][] cpts, int udeg, int vdeg, boolean closeU, double[] vk)
public void init(IVecI[][] cpts, int udeg, int vdeg, double[] uk, double[] vk)
public void initWithPlanarTrim(IVecI[] cpts, int trimDeg, double[] trimKnots, boolean close)
public void initWithPlanarTrim(IVecI[] cpts, int trimDeg, double[] trimKnots, boolean close, IVecI[][] innerCpts, int[] innerTrimDeg, double[][] innerTrimKnots, boolean[] innerClose)
public void initWithPlanarTrims(ICurveI[] curves)
public static boolean isValidCP(IVecI[][] cpts, int udeg, int vdeg, double[] uknots, double[] vknots)
public static boolean isValidCP(IVecI[][] cpts)
public static void checkDuplicatedCP(IVecI[][] cpts)
public static void checkDuplicatedCPOnEdge(IVecI[][] cpts)
public static IVec[][] getPointsFromArray(double[][][] xyzvalues)
public static IVec[] getPlanarUVPoints(IVecI[] pts, IVecI origin, IVec uvec, IVec vvec)
public static double[][] getPlanarUVRange(IVec[] uvpts)
public ISurfaceGeo get()
get in interface IParameterget in interface ISurfaceIget in interface ISurfaceOppublic ISurfaceGeo dup()
ITransformabledup in interface ISurfaceIdup in interface ITransformablepublic void pt(double u,
double v,
IVec retval)
public IVec pt(double u, double v, double n)
public void utan(double u,
double v,
IVec retval)
public void vtan(double u,
double v,
IVec retval)
public IVec nml(double u, double v)
ISurfaceIpublic void nml(double u,
double v,
IVec retval)
public void nrml(double u,
double v,
IVec retval)
public void normal(double u,
double v,
IVec retval)
public IVecI cp(int i, int j)
public ISurfaceGeo addUCP(IVecI[] pts)
public ISurfaceGeo addVCP(IVecI[] pts)
public IVec ep(int i, int j)
public IVec mid()
public IVec center()
public IVec2 uv(IVecI pt)
public IVec2 uv(IVec2I pt)
public double dist(IVecI pt)
public double dist(IVec2I pt)
public boolean isRational()
isRational in interface ISurfaceIpublic boolean isRational(ISwitchE e)
isRational in interface ISurfaceIpublic IBool isRational(ISwitchR r)
isRational in interface ISurfaceIpublic double ustart()
ISurfaceIpublic ISurfaceGeo revU()
public ISurfaceGeo revTrimU()
public ISurfaceGeo revV()
public ISurfaceGeo revUV()
public ISurfaceGeo revN()
public ISurfaceGeo flipU()
public ISurfaceGeo flipV()
public ISurfaceGeo flipUV()
public ISurfaceGeo flipN()
public ISurfaceGeo swapUV()
public ISurfaceGeo clearInnerTrim()
clearInnerTrim in interface ISurfaceIpublic ISurfaceGeo clearOuterTrim()
clearOuterTrim in interface ISurfaceIpublic ISurfaceGeo clearTrim()
public static boolean isTrimLoopInsideBoundary(ITrimCurveI[] crv, double u1, double v1, double u2, double v2)
public static boolean isTrimCurveInsideBoundary(ITrimCurveI crv, double u1, double v1, double u2, double v2)
public static boolean isTrimCurveCPInsideBoundary(ITrimCurveI crv, double u1, double v1, double u2, double v2)
public static boolean isTrimLoopClosed(ITrimCurveI[] crv)
public boolean checkTrimLoop(ITrimCurve[] loop)
public boolean checkTrimLoop(ITrimCurve loop)
public boolean checkTrim(ITrimCurve curve)
public ISurfaceGeo addDefaultOuterTrimLoop()
public ISurfaceGeo addInnerTrimLoop(ITrimCurveI[] loop)
addInnerTrimLoop in interface ISurfaceIloop - array of trim curves need to form closed looppublic ISurfaceGeo addInnerTrimLoop(ITrimCurve[] loop)
public ISurfaceGeo addInnerTrimLoop(ITrimCurveI loop)
addInnerTrimLoop in interface ISurfaceIloop - trim curve needs to be closedpublic ISurfaceGeo addInnerTrimLoop(ITrimCurve loop)
public ISurfaceGeo addInnerTrimLoop(ICurveI[] trim)
ISurfaceIaddInnerTrimLoop in interface ISurfaceIpublic ISurfaceGeo addInnerTrimLoop(ICurveI[] trim, boolean deleteInput)
addInnerTrimLoop in interface ISurfaceIpublic ISurfaceGeo addInnerTrimLoop(ICurveI trim)
ISurfaceIaddInnerTrimLoop in interface ISurfaceIpublic ISurfaceGeo addInnerTrimLoop(ICurveI trim, boolean deleteInput)
addInnerTrimLoop in interface ISurfaceIpublic ISurfaceGeo addInnerTrim(ITrimCurve trimCrv)
public ISurfaceGeo closeInnerTrim()
public ISurfaceGeo addOuterTrimLoop(ITrimCurveI[] loop)
addOuterTrimLoop in interface ISurfaceIpublic ISurfaceGeo addOuterTrimLoop(ITrimCurve[] loop)
public ISurfaceGeo addOuterTrimLoop(ITrimCurveI loop)
addOuterTrimLoop in interface ISurfaceIpublic ISurfaceGeo addOuterTrimLoop(ITrimCurve loop)
public ISurfaceGeo addOuterTrimLoop(ICurveI[] trim)
addOuterTrimLoop in interface ISurfaceIpublic ISurfaceGeo addOuterTrimLoop(ICurveI[] trim, boolean deleteInput)
addOuterTrimLoop in interface ISurfaceIpublic ISurfaceGeo addOuterTrimLoop(ICurveI trim)
addOuterTrimLoop in interface ISurfaceIpublic ISurfaceGeo addOuterTrimLoop(ICurveI trim, boolean deleteInput)
addOuterTrimLoop in interface ISurfaceIpublic ISurfaceGeo addOuterTrim(ITrimCurve trimCrv)
public ISurfaceGeo closeOuterTrim()
public boolean hasInnerTrim()
hasInnerTrim in interface ISurfaceIpublic boolean hasOuterTrim()
hasOuterTrim in interface ISurfaceIpublic boolean hasInnerTrim(ISwitchE e)
hasInnerTrim in interface ISurfaceIpublic boolean hasOuterTrim(ISwitchE e)
hasOuterTrim in interface ISurfaceIpublic IBool hasInnerTrim(ISwitchR r)
hasInnerTrim in interface ISurfaceIpublic IBool hasOuterTrim(ISwitchR r)
hasOuterTrim in interface ISurfaceIpublic int innerTrimLoopNum()
innerTrimLoopNum in interface ISurfaceIpublic int outerTrimLoopNum()
outerTrimLoopNum in interface ISurfaceIpublic int innerTrimLoopNum(ISwitchE e)
innerTrimLoopNum in interface ISurfaceIpublic int outerTrimLoopNum(ISwitchE e)
outerTrimLoopNum in interface ISurfaceIpublic IInteger innerTrimLoopNum(ISwitchR r)
innerTrimLoopNum in interface ISurfaceIpublic IInteger outerTrimLoopNum(ISwitchR r)
outerTrimLoopNum in interface ISurfaceIpublic int innerTrimNum(int i)
innerTrimNum in interface ISurfaceIpublic IInteger innerTrimNum(IIntegerI i)
innerTrimNum in interface ISurfaceIpublic int outerTrimNum(int i)
outerTrimNum in interface ISurfaceIpublic IInteger outerTrimNum(IIntegerI i)
outerTrimNum in interface ISurfaceIpublic ITrimCurveI[] innerTrimLoop(int i)
innerTrimLoop in interface ISurfaceIpublic ITrimCurveI[] innerTrimLoop(IIntegerI i)
innerTrimLoop in interface ISurfaceIpublic ITrimCurveI[] outerTrimLoop(int i)
outerTrimLoop in interface ISurfaceIpublic ITrimCurveI[] outerTrimLoop(IIntegerI i)
outerTrimLoop in interface ISurfaceIpublic ITrimCurveI innerTrim(int i, int j)
public ITrimCurveI innerTrim(IIntegerI i, IIntegerI j)
public ITrimCurveI outerTrim(int i, int j)
public ITrimCurveI outerTrim(IIntegerI i, IIntegerI j)
public boolean hasDefaultTrim()
hasDefaultTrim in interface ISurfaceIpublic boolean hasDefaultTrim(ISwitchE e)
hasDefaultTrim in interface ISurfaceIpublic IBool hasDefaultTrim(ISwitchR r)
hasDefaultTrim in interface ISurfaceIpublic boolean isFlat()
public boolean isUClosed()
public boolean isVClosed()
public boolean isInsideTrim(IVec2I v)
public boolean isInsideTrim(double u,
double v)
public boolean isInsideTrim(IVec2 v)
public ISurfaceGeo updateCache()
public ISurfaceGeo add(double x, double y, double z)
add in interface ISurfaceIadd in interface ITransformablepublic ISurfaceGeo add(IDoubleI x, IDoubleI y, IDoubleI z)
add in interface ISurfaceIadd in interface ITransformablepublic ISurfaceGeo add(IVecI v)
add in interface ISurfaceIadd in interface ITransformablepublic ISurfaceGeo sub(double x, double y, double z)
sub in interface ISurfaceIsub in interface ITransformablepublic ISurfaceGeo sub(IDoubleI x, IDoubleI y, IDoubleI z)
sub in interface ISurfaceIsub in interface ITransformablepublic ISurfaceGeo sub(IVecI v)
sub in interface ISurfaceIsub in interface ITransformablepublic ISurfaceGeo mul(IDoubleI v)
mul in interface ISurfaceImul in interface ITransformablepublic ISurfaceGeo mul(double v)
mul in interface ISurfaceImul in interface ITransformablepublic ISurfaceGeo div(IDoubleI v)
div in interface ISurfaceIdiv in interface ITransformablepublic ISurfaceGeo div(double v)
div in interface ISurfaceIdiv in interface ITransformablepublic ISurfaceGeo neg()
neg in interface ISurfaceIneg in interface ITransformablepublic ISurfaceGeo flip()
flip in interface ISurfaceIflip in interface ITransformablepublic ISurfaceGeo add(IVecI v, double f)
add in interface ISurfaceIadd in interface ITransformablepublic ISurfaceGeo add(IVecI v, IDoubleI f)
ITransformableadd in interface ISurfaceIadd in interface ITransformablepublic ISurfaceGeo add(double f, IVecI v)
add in interface ITransformablepublic ISurfaceGeo add(IDoubleI f, IVecI v)
ITransformableadd in interface ITransformablepublic ISurfaceGeo rot(IDoubleI angle)
ITransformablerot in interface ITransformablepublic ISurfaceGeo rot(double angle)
rot in interface ITransformablepublic ISurfaceGeo rot(IVecI axis, IDoubleI angle)
ITransformablerot in interface ISurfaceIrot in interface ITransformablepublic ISurfaceGeo rot(IVecI axis, double angle)
rot in interface ISurfaceIrot in interface ITransformablepublic ISurfaceGeo rot(IVecI center, IVecI axis, IDoubleI angle)
ITransformablerot in interface ISurfaceIrot in interface ITransformablepublic ISurfaceGeo rot(IVecI center, IVecI axis, double angle)
rot in interface ISurfaceIrot in interface ITransformablepublic ISurfaceGeo rot(IVecI axis, IVecI destDir)
rot in interface ISurfaceIrot in interface ITransformablepublic ISurfaceGeo rot(IVecI center, IVecI axis, IVecI destPt)
rot in interface ISurfaceIrot in interface ITransformablepublic ISurfaceGeo rot2(IDoubleI angle)
ITransformablerot2 in interface ITransformablepublic ISurfaceGeo rot2(double angle)
ITransformablerot2 in interface ITransformablepublic ISurfaceGeo rot2(IVecI center, IDoubleI angle)
ITransformablerot2 in interface ITransformablepublic ISurfaceGeo rot2(IVecI center, double angle)
rot2 in interface ITransformablepublic ISurfaceGeo rot2(IVecI destDir)
rot2 in interface ITransformablepublic ISurfaceGeo rot2(IVecI center, IVecI destPt)
rot2 in interface ITransformablepublic ISurfaceGeo scale(IDoubleI f)
scale in interface ISurfaceIscale in interface ITransformablepublic ISurfaceGeo scale(double f)
scale in interface ISurfaceIscale in interface ITransformablepublic ISurfaceGeo scale(IVecI center, IDoubleI f)
scale in interface ISurfaceIscale in interface ITransformablepublic ISurfaceGeo scale(IVecI center, double f)
scale in interface ISurfaceIscale in interface ITransformablepublic ISurfaceGeo scale1d(IVecI axis, double f)
scale1d in interface ISurfaceIscale1d in interface ITransformablepublic ISurfaceGeo scale1d(IVecI axis, IDoubleI f)
scale1d in interface ISurfaceIscale1d in interface ITransformablepublic ISurfaceGeo scale1d(IVecI center, IVecI axis, double f)
scale1d in interface ISurfaceIscale1d in interface ITransformablepublic ISurfaceGeo scale1d(IVecI center, IVecI axis, IDoubleI f)
scale1d in interface ISurfaceIscale1d in interface ITransformablepublic ISurfaceGeo ref(IVecI planeDir)
ref in interface ISurfaceIref in interface ITransformablepublic ISurfaceGeo ref(IVecI center, IVecI planeDir)
ref in interface ISurfaceIref in interface ITransformablepublic ISurfaceGeo mirror(IVecI planeDir)
mirror in interface ISurfaceImirror in interface ITransformablepublic ISurfaceGeo mirror(IVecI center, IVecI planeDir)
mirror in interface ISurfaceImirror in interface ITransformablepublic ISurfaceGeo shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
shear in interface ISurfaceIshear in interface ITransformablepublic ISurfaceGeo shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
shear in interface ISurfaceIshear in interface ITransformablepublic ISurfaceGeo shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
shear in interface ISurfaceIshear in interface ITransformablepublic ISurfaceGeo shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
shear in interface ISurfaceIshear in interface ITransformablepublic ISurfaceGeo shearXY(double sxy, double syx)
shearXY in interface ISurfaceIshearXY in interface ITransformablepublic ISurfaceGeo shearXY(IDoubleI sxy, IDoubleI syx)
shearXY in interface ISurfaceIshearXY in interface ITransformablepublic ISurfaceGeo shearXY(IVecI center, double sxy, double syx)
shearXY in interface ISurfaceIshearXY in interface ITransformablepublic ISurfaceGeo shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
shearXY in interface ISurfaceIshearXY in interface ITransformablepublic ISurfaceGeo shearYZ(double syz, double szy)
shearYZ in interface ISurfaceIshearYZ in interface ITransformablepublic ISurfaceGeo shearYZ(IDoubleI syz, IDoubleI szy)
shearYZ in interface ISurfaceIshearYZ in interface ITransformablepublic ISurfaceGeo shearYZ(IVecI center, double syz, double szy)
shearYZ in interface ISurfaceIshearYZ in interface ITransformablepublic ISurfaceGeo shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
shearYZ in interface ISurfaceIshearYZ in interface ITransformablepublic ISurfaceGeo shearZX(double szx, double sxz)
shearZX in interface ISurfaceIshearZX in interface ITransformablepublic ISurfaceGeo shearZX(IDoubleI szx, IDoubleI sxz)
shearZX in interface ISurfaceIshearZX in interface ITransformablepublic ISurfaceGeo shearZX(IVecI center, double szx, double sxz)
shearZX in interface ISurfaceIshearZX in interface ITransformablepublic ISurfaceGeo shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
shearZX in interface ISurfaceIshearZX in interface ITransformablepublic ISurfaceGeo mv(double x, double y, double z)
mv in interface ISurfaceImv in interface ITransformablepublic ISurfaceGeo mv(IDoubleI x, IDoubleI y, IDoubleI z)
mv in interface ISurfaceImv in interface ITransformablepublic ISurfaceGeo mv(IVecI v)
mv in interface ISurfaceImv in interface ITransformablepublic ISurfaceGeo cp()
cp in interface ISurfaceIcp in interface ITransformablepublic ISurfaceGeo cp(double x, double y, double z)
cp in interface ISurfaceIcp in interface ITransformablepublic ISurfaceGeo cp(IDoubleI x, IDoubleI y, IDoubleI z)
cp in interface ISurfaceIcp in interface ITransformablepublic ISurfaceGeo cp(IVecI v)
cp in interface ISurfaceIcp in interface ITransformablepublic ISurfaceGeo translate(double x, double y, double z)
translate in interface ISurfaceItranslate in interface ITransformablepublic ISurfaceGeo translate(IDoubleI x, IDoubleI y, IDoubleI z)
translate in interface ISurfaceItranslate in interface ITransformablepublic ISurfaceGeo translate(IVecI v)
translate in interface ISurfaceItranslate in interface ITransformablepublic ISurfaceGeo transform(IMatrix3I mat)
transform in interface ISurfaceItransform in interface ITransformablepublic ISurfaceGeo transform(IMatrix4I mat)
transform in interface ISurfaceItransform in interface ITransformablepublic ISurfaceGeo transform(IVecI xvec, IVecI yvec, IVecI zvec)
transform in interface ISurfaceItransform in interface ITransformablepublic ISurfaceGeo transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
transform in interface ISurfaceItransform in interface ITransformable