Top Description Fields Constructors Methods
jogamp.opengl.glu.nurbs

public Class Subdivider

extends Object
Class Inheritance

Class working with curves and surfaces
Author
Tomas Hrasky

Field Summary

Modifier and TypeField and Description
private ArcTesselator
arctesselator

Class tesselating trimming arcs

private Backend
backend

Backend object

public static final int
CULL_ACCEPT

Cull type

public static final int
private float
domain_distance_u_rate

U step when using domain distance sampling

private float
domain_distance_v_rate

Domain distance in V direction

private Bin
initialbin

Initial class holding trimming arcs

private int
is_domain_distance_sampling

Use domain distance sampling

private boolean
isArcTypeBezier

Is triming arc type bezier arc

private static final int
MAXARCS

Maximum trimming arcs

private Arc
pjarc

Head of linked list of trimming arcs

pack-priv Quilt
qlist

Linked list of Quilts

private Renderhints
renderhints

Object holding rendering honts information

private int
s_index

Unused

private boolean
private final Flist
smbrkpts

Breakpoints

private Flist
spbrkpts

Breakpoints in u direction

private int
subdivisions

Number of subdivisions

private int
t_index

Unused

private Flist
tpbrkpts

Breakpoints in v direction

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addQuilt(final Quilt
added quilt
quilt
)

Adds quilt to linked list

private int

Returns:

0
arc_split
(final Arc jarc, final int param, final float value, final int i)

Not used

public void
beginQuilts(final Backend backend)

Initializes quilt list

private boolean

Returns:

false
ccwTurn_sl
(final Arc prev, final Arc j)

Not used

private boolean

Returns:

false
ccwTurn_sr
(final Arc prev, final Arc j)

Not used

private boolean

Returns:

false
ccwTurn_tl
(final Arc prev, final Arc j)

Not used

private void
check_s(final Arc arc, final Arc relative)

Not used

private void
check_t(final Arc arc, final Arc relative)

Not used

private void
classify_headonleft_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

private void
classify_headonleft_t(final Bin bin, final Bin in, final Bin out, final float val)

Not used

private void
classify_headonright_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

private void
classify_headonright_t(final Bin headonright, final Bin intersections, final Bin right, final float value)

Not used

private void
classify_tailonleft_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

private void
classify_tailonleft_t(final Bin tailonleft, final Bin intersections, final Bin left, final float value)

Not used

private void
classify_tailonright_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

private void
classify_tailonright_t(final Bin tailonright, final Bin intersections, final Bin right, final float value)

Not used

public void
drawCurves()

Draws NURBS curve

public void
drawSurfaces()

Draws a surface

public void
endQuilts()

Empty method

private void
findIrregularS(final Bin source)

Not used

private void
freejarcs(final Bin initialbin2)

Empty method

private boolean

Returns:

true
isBezierArcType
()

Not used

private void
join_s(final Bin left, final Bin right, Arc jarc1, Arc jarc2)

Not used

private void
join_t(final Bin left, final Bin right, final Arc arc, final Arc relative)

Not used

private void
makeBorderTrim(final float[]
range beginnings
from
,
final float[]
range ends
to
)

Makes default trim along surface borders

private void
monosplitInS(final Bin source, final int start, final int end)

Not used

private void
nonSamplingSplit(final Bin source, final Patchlist patchlist, final int subdivisions, int param)

Not used

private void
outline(final Bin source)

Not used

private void
partition(final Bin bin, final Bin left, final Bin intersections, final Bin right, final Bin unknown, final int param, final float value)

Not used

private void
samplingSplit(final Bin source, final Patchlist patchlist, final int subdivisions, int param)

Sample

private void
samplingSplit(final Curvelist
list of curves
curvelist
,
final int
maximum number of subdivisions
maxsubdivisions
)

Samples a curve in case of need, or sends curve to backend

public void
set_domain_distance_u_rate(final double
new domain_distance_u_rate value
d
)

Sets new domain_distance_u_rate value

public void
set_domain_distance_v_rate(final double
new domain_distance_v_rate value
d
)

Sets new domain_distance_v_rate value

public void
set_is_domain_distance_sampling(final int
new is_domain_distance_sampling value
i
)

Sets new is_domain_distance_sampling value

private void
setArcTypeBezier()

sets trimming arc default type to bezier

private void
setArcTypePwl()

Not used

private void
setDegenerate()

Not used

private void
setNonDegenerate()

Not used

private void
split(final Bin bin, final Bin left, final Bin right, final int param, final float value)

Not used

private void
splitInS(final Bin
Trimming arcs source
source
,
final int
breakpoints start
start
,
final int
breakpoints end
end
)

Split in U direction

private void
splitInT(final Bin source, final int start, final int end)

Split in V direction

private void
subdivideInS(final Bin
Trimming arcs source
source
)

Subdivide in U direction

private void
tesselation(final Bin source, final Patchlist patchlist)

Not used

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

arctesselatorback to summary
private ArcTesselator arctesselator

Class tesselating trimming arcs

backendback to summary
private Backend backend

Backend object

CULL_ACCEPTback to summary
public static final int CULL_ACCEPT

Cull type

CULL_TRIVIAL_REJECTback to summary
public static final int CULL_TRIVIAL_REJECT

Cull type

domain_distance_u_rateback to summary
private float domain_distance_u_rate

U step when using domain distance sampling

domain_distance_v_rateback to summary
private float domain_distance_v_rate

Domain distance in V direction

initialbinback to summary
private Bin initialbin

Initial class holding trimming arcs

is_domain_distance_samplingback to summary
private int is_domain_distance_sampling

Use domain distance sampling

isArcTypeBezierback to summary
private boolean isArcTypeBezier

Is triming arc type bezier arc

MAXARCSback to summary
private static final int MAXARCS

Maximum trimming arcs

pjarcback to summary
private Arc pjarc

Head of linked list of trimming arcs

qlistback to summary
pack-priv Quilt qlist

Linked list of Quilts

renderhintsback to summary
private Renderhints renderhints

Object holding rendering honts information

s_indexback to summary
private int s_index

Unused

showDegenerateback to summary
private boolean showDegenerate

Not used

smbrkptsback to summary
private final Flist smbrkpts

Breakpoints

spbrkptsback to summary
private Flist spbrkpts

Breakpoints in u direction

subdivisionsback to summary
private int subdivisions

Number of subdivisions

t_indexback to summary
private int t_index

Unused

tpbrkptsback to summary
private Flist tpbrkpts

Breakpoints in v direction

Constructor Detail

Subdividerback to summary
public Subdivider()

Method Detail

addQuiltback to summary
public void addQuilt(final Quilt quilt)

Adds quilt to linked list

Parameters
quilt:Quilt

added quilt

arc_splitback to summary
private int arc_split(final Arc jarc, final int param, final float value, final int i)

Not used

Returns:int

0

beginQuiltsback to summary
public void beginQuilts(final Backend backend)

Initializes quilt list

ccwTurn_slback to summary
private boolean ccwTurn_sl(final Arc prev, final Arc j)

Not used

Returns:boolean

false

ccwTurn_srback to summary
private boolean ccwTurn_sr(final Arc prev, final Arc j)

Not used

Returns:boolean

false

ccwTurn_tlback to summary
private boolean ccwTurn_tl(final Arc prev, final Arc j)

Not used

Returns:boolean

false

check_sback to summary
private void check_s(final Arc arc, final Arc relative)

Not used

check_tback to summary
private void check_t(final Arc arc, final Arc relative)

Not used

classify_headonleft_sback to summary
private void classify_headonleft_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

classify_headonleft_tback to summary
private void classify_headonleft_t(final Bin bin, final Bin in, final Bin out, final float val)

Not used

classify_headonright_sback to summary
private void classify_headonright_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

classify_headonright_tback to summary
private void classify_headonright_t(final Bin headonright, final Bin intersections, final Bin right, final float value)

Not used

classify_tailonleft_sback to summary
private void classify_tailonleft_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

classify_tailonleft_tback to summary
private void classify_tailonleft_t(final Bin tailonleft, final Bin intersections, final Bin left, final float value)

Not used

classify_tailonright_sback to summary
private void classify_tailonright_s(final Bin bin, final Bin in, final Bin out, final float val)

Not used

classify_tailonright_tback to summary
private void classify_tailonright_t(final Bin tailonright, final Bin intersections, final Bin right, final float value)

Not used

drawCurvesback to summary
public void drawCurves()

Draws NURBS curve

drawSurfacesback to summary
public void drawSurfaces()

Draws a surface

endQuiltsback to summary
public void endQuilts()

Empty method

findIrregularSback to summary
private void findIrregularS(final Bin source)

Not used

freejarcsback to summary
private void freejarcs(final Bin initialbin2)

Empty method

isBezierArcTypeback to summary
private boolean isBezierArcType()

Not used

Returns:boolean

true

join_sback to summary
private void join_s(final Bin left, final Bin right, Arc jarc1, Arc jarc2)

Not used

join_tback to summary
private void join_t(final Bin left, final Bin right, final Arc arc, final Arc relative)

Not used

makeBorderTrimback to summary
private void makeBorderTrim(final float[] from, final float[] to)

Makes default trim along surface borders

Parameters
from:float[]

range beginnings

to:float[]

range ends

monosplitInSback to summary
private void monosplitInS(final Bin source, final int start, final int end)

Not used

nonSamplingSplitback to summary
private void nonSamplingSplit(final Bin source, final Patchlist patchlist, final int subdivisions, int param)

Not used

outlineback to summary
private void outline(final Bin source)

Not used

partitionback to summary
private void partition(final Bin bin, final Bin left, final Bin intersections, final Bin right, final Bin unknown, final int param, final float value)

Not used

samplingSplitback to summary
private void samplingSplit(final Bin source, final Patchlist patchlist, final int subdivisions, int param)

Sample

samplingSplitback to summary
private void samplingSplit(final Curvelist curvelist, final int maxsubdivisions)

Samples a curve in case of need, or sends curve to backend

Parameters
curvelist:Curvelist

list of curves

maxsubdivisions:int

maximum number of subdivisions

set_domain_distance_u_rateback to summary
public void set_domain_distance_u_rate(final double d)

Sets new domain_distance_u_rate value

Parameters
d:double

new domain_distance_u_rate value

set_domain_distance_v_rateback to summary
public void set_domain_distance_v_rate(final double d)

Sets new domain_distance_v_rate value

Parameters
d:double

new domain_distance_v_rate value

set_is_domain_distance_samplingback to summary
public void set_is_domain_distance_sampling(final int i)

Sets new is_domain_distance_sampling value

Parameters
i:int

new is_domain_distance_sampling value

setArcTypeBezierback to summary
private void setArcTypeBezier()

sets trimming arc default type to bezier

setArcTypePwlback to summary
private void setArcTypePwl()

Not used

setDegenerateback to summary
private void setDegenerate()

Not used

setNonDegenerateback to summary
private void setNonDegenerate()

Not used

splitback to summary
private void split(final Bin bin, final Bin left, final Bin right, final int param, final float value)

Not used

splitInSback to summary
private void splitInS(final Bin source, final int start, final int end)

Split in U direction

Parameters
source:Bin

Trimming arcs source

start:int

breakpoints start

end:int

breakpoints end

splitInTback to summary
private void splitInT(final Bin source, final int start, final int end)

Split in V direction

subdivideInSback to summary
private void subdivideInS(final Bin source)

Subdivide in U direction

Parameters
source:Bin

Trimming arcs source

tesselationback to summary
private void tesselation(final Bin source, final Patchlist patchlist)

Not used