Reset integration results for zero-length components
This commit is contained in:
parent
ac120e8fc1
commit
7602756dee
@ -311,14 +311,16 @@ public abstract class SymmetricComponent extends BodyComponent implements BoxBou
|
|||||||
private void integrate() {
|
private void integrate() {
|
||||||
double x, r1, r2;
|
double x, r1, r2;
|
||||||
double cgx;
|
double cgx;
|
||||||
|
|
||||||
|
wetArea = 0;
|
||||||
|
planArea = 0;
|
||||||
|
planCenter = 0;
|
||||||
|
fullVolume = 0;
|
||||||
|
volume = 0;
|
||||||
|
cg = Coordinate.NUL;
|
||||||
|
|
||||||
// Check length > 0
|
// Check length > 0
|
||||||
if (length <= 0) {
|
if (length <= 0) {
|
||||||
wetArea = 0;
|
|
||||||
planArea = 0;
|
|
||||||
planCenter = 0;
|
|
||||||
volume = 0;
|
|
||||||
cg = Coordinate.NUL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -329,11 +331,6 @@ public abstract class SymmetricComponent extends BodyComponent implements BoxBou
|
|||||||
final double pi3 = Math.PI / 3.0;
|
final double pi3 = Math.PI / 3.0;
|
||||||
r1 = getRadius(0);
|
r1 = getRadius(0);
|
||||||
x = 0;
|
x = 0;
|
||||||
wetArea = 0;
|
|
||||||
planArea = 0;
|
|
||||||
planCenter = 0;
|
|
||||||
fullVolume = 0;
|
|
||||||
volume = 0;
|
|
||||||
cgx = 0;
|
cgx = 0;
|
||||||
|
|
||||||
for (int n = 1; n <= DIVISIONS; n++) {
|
for (int n = 1; n <= DIVISIONS; n++) {
|
||||||
@ -422,15 +419,18 @@ public abstract class SymmetricComponent extends BodyComponent implements BoxBou
|
|||||||
*/
|
*/
|
||||||
private void integrateInertiaVolume() {
|
private void integrateInertiaVolume() {
|
||||||
double x, r1, r2;
|
double x, r1, r2;
|
||||||
|
|
||||||
|
longitudinalInertia = 0;
|
||||||
|
rotationalInertia = 0;
|
||||||
|
|
||||||
|
if (length <= 0) return;
|
||||||
|
|
||||||
final double l = length / DIVISIONS;
|
final double l = length / DIVISIONS;
|
||||||
final double pil = Math.PI * l; // PI * l
|
final double pil = Math.PI * l; // PI * l
|
||||||
final double pil3 = Math.PI * l / 3; // PI * l/3
|
final double pil3 = Math.PI * l / 3; // PI * l/3
|
||||||
|
|
||||||
r1 = getRadius(0);
|
r1 = getRadius(0);
|
||||||
x = 0;
|
x = 0;
|
||||||
longitudinalInertia = 0;
|
|
||||||
rotationalInertia = 0;
|
|
||||||
|
|
||||||
double vol = 0;
|
double vol = 0;
|
||||||
|
|
||||||
@ -489,15 +489,17 @@ public abstract class SymmetricComponent extends BodyComponent implements BoxBou
|
|||||||
*/
|
*/
|
||||||
private void integrateInertiaSurface() {
|
private void integrateInertiaSurface() {
|
||||||
double x, r1, r2;
|
double x, r1, r2;
|
||||||
|
|
||||||
|
longitudinalInertia = 0;
|
||||||
|
rotationalInertia = 0;
|
||||||
|
|
||||||
|
if (length <= 0) return;
|
||||||
|
|
||||||
final double l = length / DIVISIONS;
|
final double l = length / DIVISIONS;
|
||||||
|
|
||||||
r1 = getRadius(0);
|
r1 = getRadius(0);
|
||||||
x = 0;
|
x = 0;
|
||||||
|
|
||||||
longitudinalInertia = 0;
|
|
||||||
rotationalInertia = 0;
|
|
||||||
|
|
||||||
double surface = 0;
|
double surface = 0;
|
||||||
|
|
||||||
for (int n = 1; n <= DIVISIONS; n++) {
|
for (int n = 1; n <= DIVISIONS; n++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user