JavaCAD
src
main
java
eu
mihosoft
vrl
v3d
XModifier.java
Go to the documentation of this file.
1
/*
2
* To change this license header, choose License Headers in Project Properties.
3
* To change this template file, choose Tools | Templates
4
* and open the template in the editor.
5
*/
6
package
eu.mihosoft.vrl.v3d;
7
8
// TODO: Auto-generated Javadoc
14
public
class
XModifier
implements
WeightFunction
{
15
17
private
Bounds
bounds
;
18
20
private
double
min
= 0;
21
23
private
double
max
= 1.0;
24
26
private
double
sPerUnit
;
27
29
private
boolean
centered
;
30
31
35
public
XModifier
() {
36
}
37
43
public
XModifier
(
boolean
centered
) {
44
this.centered =
centered
;
45
}
46
47
/* (non-Javadoc)
48
* @see eu.mihosoft.vrl.v3d.WeightFunction#eval(eu.mihosoft.vrl.v3d.Vector3d, eu.mihosoft.vrl.v3d.CSG)
49
*/
50
@Override
51
public
double
eval
(
Vector3d
pos,
CSG
csg) {
52
53
if
(
bounds
==
null
) {
54
this.bounds = csg.
getBounds
();
55
sPerUnit
= (
max
-
min
) / (
bounds
.
getMax
().
x
-
bounds
.
getMin
().
x
);
56
}
57
58
double
s =
sPerUnit
* (pos.
x
-
bounds
.
getMin
().
x
);
59
60
if
(
centered
) {
61
s = s - (
max
-
min
)/2.0;
62
63
s = Math.abs(s)*2;
64
}
65
66
return
s;
67
}
68
69
}
eu.mihosoft.vrl.v3d.Bounds
Definition:
Bounds.java:14
eu.mihosoft.vrl.v3d.Bounds.getMax
Vector3d getMax()
Definition:
Bounds.java:201
eu.mihosoft.vrl.v3d.Bounds.getMin
Vector3d getMin()
Definition:
Bounds.java:192
eu.mihosoft.vrl.v3d.CSG
Definition:
CSG.java:109
eu.mihosoft.vrl.v3d.CSG.getBounds
Bounds getBounds()
Definition:
CSG.java:1738
eu.mihosoft.vrl.v3d.Vector3d
Definition:
Vector3d.java:48
eu.mihosoft.vrl.v3d.Vector3d.x
static Vector3d x(double x)
Definition:
Vector3d.java:474
eu.mihosoft.vrl.v3d.XModifier
Definition:
XModifier.java:14
eu.mihosoft.vrl.v3d.XModifier.max
double max
Definition:
XModifier.java:23
eu.mihosoft.vrl.v3d.XModifier.centered
boolean centered
Definition:
XModifier.java:29
eu.mihosoft.vrl.v3d.XModifier.min
double min
Definition:
XModifier.java:20
eu.mihosoft.vrl.v3d.XModifier.eval
double eval(Vector3d pos, CSG csg)
Definition:
XModifier.java:51
eu.mihosoft.vrl.v3d.XModifier.sPerUnit
double sPerUnit
Definition:
XModifier.java:26
eu.mihosoft.vrl.v3d.XModifier.bounds
Bounds bounds
Definition:
XModifier.java:17
eu.mihosoft.vrl.v3d.XModifier.XModifier
XModifier()
Definition:
XModifier.java:35
eu.mihosoft.vrl.v3d.XModifier.XModifier
XModifier(boolean centered)
Definition:
XModifier.java:43
eu.mihosoft.vrl.v3d.WeightFunction
Definition:
WeightFunction.java:16
Generated by
1.9.1