Merge pull request #183 from lexaknyazev/tweaks
Style tweaks and bugfix
diff --git a/README.md b/README.md
index 0b15146..6d9fb3a 100644
--- a/README.md
+++ b/README.md
@@ -68,7 +68,7 @@
void main() {
// Rotation of PI/2 degrees around the Y axis followed by a
// translation of (5.0, 2.0, 3.0).
- Matrix4 T = new Matrix4.rotationY(PI * 0.5).translate(5.0, 2.0, 3.0);
+ Matrix4 T = new Matrix4.rotationY(PI * 0.5)..translate(5.0, 2.0, 3.0);
// A point.
Vector3 position = new Vector3(1.0, 1.0, 1.0);
// Transform position by T.
@@ -85,7 +85,7 @@
void main() {
// Rotation of 90 degrees around the Y axis followed by a
// translation of (5.0, 2.0, 3.0).
- Matrix4 T = new Matrix4.rotationY(PI*0.5).translate(5.0, 2.0, 3.0);
+ Matrix4 T = new Matrix4.rotationY(PI * 0.5)..translate(5.0, 2.0, 3.0);
// Invert T.
T.invert();
// Invert just the rotation in T.
@@ -144,9 +144,9 @@
// Checks if the ray intersect with the sphere and returns the distance of the
// intersection from the origin of the ray. Would return null if no intersection
// is found.
- double distancFromOrigin = ray.intersectsWithSphere(sphere);
+ double distanceFromOrigin = ray.intersectsWithSphere(sphere);
// Evaluate the position of the intersection, in this case (3.0 0.0 0.0).
- Vector3 position = ray.at(distancFromOrigin);
+ Vector3 position = ray.at(distanceFromOrigin);
}
```
diff --git a/lib/src/vector_math/matrix4.dart b/lib/src/vector_math/matrix4.dart
index 94237e8..dafb779 100644
--- a/lib/src/vector_math/matrix4.dart
+++ b/lib/src/vector_math/matrix4.dart
@@ -877,8 +877,8 @@
sz = x.z;
} else if (x is double) {
sx = x;
- sy = y == null ? x : y.toDouble();
- sz = z == null ? x : z.toDouble();
+ sy = y ?? x;
+ sz = z ?? x;
}
_m4storage[0] *= sx;
_m4storage[1] *= sx;
@@ -900,8 +900,7 @@
/// Create a copy of [this] scaled by a [Vector3], [Vector4] or [x],[y], and
/// [z].
- Matrix4 scaled(dynamic x, [double y = null, double z = null]) =>
- clone()..scale(x, y, z);
+ Matrix4 scaled(dynamic x, [double y, double z]) => clone()..scale(x, y, z);
/// Zeros [this].
void setZero() {
diff --git a/lib/src/vector_math/vector2.dart b/lib/src/vector_math/vector2.dart
index 30b6f13..25bef11 100644
--- a/lib/src/vector_math/vector2.dart
+++ b/lib/src/vector_math/vector2.dart
@@ -61,7 +61,7 @@
/// Generate random vector in the range (0, 0) to (1, 1). You can
/// optionally pass your own random number generator.
factory Vector2.random([math.Random rng]) {
- rng = rng == null ? new math.Random() : rng;
+ rng ??= new math.Random();
return new Vector2(rng.nextDouble(), rng.nextDouble());
}
diff --git a/lib/src/vector_math/vector3.dart b/lib/src/vector_math/vector3.dart
index d2644fa..fe315d4 100644
--- a/lib/src/vector_math/vector3.dart
+++ b/lib/src/vector_math/vector3.dart
@@ -65,7 +65,7 @@
/// Generate random vector in the range (0, 0, 0) to (1, 1, 1). You can
/// optionally pass your own random number generator.
factory Vector3.random([math.Random rng]) {
- rng = rng == null ? new math.Random() : rng;
+ rng ??= new math.Random();
return new Vector3(rng.nextDouble(), rng.nextDouble(), rng.nextDouble());
}
diff --git a/lib/src/vector_math/vector4.dart b/lib/src/vector_math/vector4.dart
index e1f312a..086ad4f 100644
--- a/lib/src/vector_math/vector4.dart
+++ b/lib/src/vector_math/vector4.dart
@@ -71,7 +71,7 @@
/// Generate random vector in the range (0, 0, 0, 0) to (1, 1, 1, 1). You can
/// optionally pass your own random number generator.
factory Vector4.random([math.Random rng]) {
- rng = rng == null ? new math.Random() : rng;
+ rng ??= new math.Random();
return new Vector4(
rng.nextDouble(), rng.nextDouble(), rng.nextDouble(), rng.nextDouble());
}
diff --git a/lib/src/vector_math_64/matrix4.dart b/lib/src/vector_math_64/matrix4.dart
index 5878c1a..e883051 100644
--- a/lib/src/vector_math_64/matrix4.dart
+++ b/lib/src/vector_math_64/matrix4.dart
@@ -877,8 +877,8 @@
sz = x.z;
} else if (x is double) {
sx = x;
- sy = y == null ? x : y.toDouble();
- sz = z == null ? x : z.toDouble();
+ sy = y ?? x;
+ sz = z ?? x;
}
_m4storage[0] *= sx;
_m4storage[1] *= sx;
@@ -900,8 +900,7 @@
/// Create a copy of [this] scaled by a [Vector3], [Vector4] or [x],[y], and
/// [z].
- Matrix4 scaled(dynamic x, [double y = null, double z = null]) =>
- clone()..scale(x, y, z);
+ Matrix4 scaled(dynamic x, [double y, double z]) => clone()..scale(x, y, z);
/// Zeros [this].
void setZero() {
diff --git a/lib/src/vector_math_64/vector2.dart b/lib/src/vector_math_64/vector2.dart
index ef90099..cc951f5 100644
--- a/lib/src/vector_math_64/vector2.dart
+++ b/lib/src/vector_math_64/vector2.dart
@@ -61,7 +61,7 @@
/// Generate random vector in the range (0, 0) to (1, 1). You can
/// optionally pass your own random number generator.
factory Vector2.random([math.Random rng]) {
- rng = rng == null ? new math.Random() : rng;
+ rng ??= new math.Random();
return new Vector2(rng.nextDouble(), rng.nextDouble());
}
diff --git a/lib/src/vector_math_64/vector3.dart b/lib/src/vector_math_64/vector3.dart
index a356ed4..7d61041 100644
--- a/lib/src/vector_math_64/vector3.dart
+++ b/lib/src/vector_math_64/vector3.dart
@@ -65,7 +65,7 @@
/// Generate random vector in the range (0, 0, 0) to (1, 1, 1). You can
/// optionally pass your own random number generator.
factory Vector3.random([math.Random rng]) {
- rng = rng == null ? new math.Random() : rng;
+ rng ??= new math.Random();
return new Vector3(rng.nextDouble(), rng.nextDouble(), rng.nextDouble());
}
diff --git a/lib/src/vector_math_64/vector4.dart b/lib/src/vector_math_64/vector4.dart
index 5e27501..d65c8ac 100644
--- a/lib/src/vector_math_64/vector4.dart
+++ b/lib/src/vector_math_64/vector4.dart
@@ -71,7 +71,7 @@
/// Generate random vector in the range (0, 0, 0, 0) to (1, 1, 1, 1). You can
/// optionally pass your own random number generator.
factory Vector4.random([math.Random rng]) {
- rng = rng == null ? new math.Random() : rng;
+ rng ??= new math.Random();
return new Vector4(
rng.nextDouble(), rng.nextDouble(), rng.nextDouble(), rng.nextDouble());
}
diff --git a/lib/src/vector_math_geometry/generators/circle_generator.dart b/lib/src/vector_math_geometry/generators/circle_generator.dart
index d49a01c..6a55dd0 100644
--- a/lib/src/vector_math_geometry/generators/circle_generator.dart
+++ b/lib/src/vector_math_geometry/generators/circle_generator.dart
@@ -17,8 +17,8 @@
int get indexCount => (_segments) * 3;
MeshGeometry createCircle(double radius,
- {GeometryGeneratorFlags flags: null,
- List<GeometryFilter> filters: null,
+ {GeometryGeneratorFlags flags,
+ List<GeometryFilter> filters,
int segments: 64,
double thetaStart: 0.0,
double thetaLength: math.PI * 2.0}) {
diff --git a/lib/src/vector_math_geometry/generators/cube_generator.dart b/lib/src/vector_math_geometry/generators/cube_generator.dart
index b0948a7..387354f 100644
--- a/lib/src/vector_math_geometry/generators/cube_generator.dart
+++ b/lib/src/vector_math_geometry/generators/cube_generator.dart
@@ -16,8 +16,7 @@
int get indexCount => 36;
MeshGeometry createCube(num width, num height, num depth,
- {GeometryGeneratorFlags flags: null,
- List<GeometryFilter> filters: null}) {
+ {GeometryGeneratorFlags flags, List<GeometryFilter> filters}) {
_width = width.toDouble();
_height = height.toDouble();
_depth = depth.toDouble();
diff --git a/lib/src/vector_math_geometry/generators/cylinder_generator.dart b/lib/src/vector_math_geometry/generators/cylinder_generator.dart
index 1cb4045..432224b 100644
--- a/lib/src/vector_math_geometry/generators/cylinder_generator.dart
+++ b/lib/src/vector_math_geometry/generators/cylinder_generator.dart
@@ -18,8 +18,8 @@
MeshGeometry createCylinder(num topRadius, num bottomRadius, num height,
{int segments: 16,
- GeometryGeneratorFlags flags: null,
- List<GeometryFilter> filters: null}) {
+ GeometryGeneratorFlags flags,
+ List<GeometryFilter> filters}) {
_topRadius = topRadius.toDouble();
_bottomRadius = bottomRadius.toDouble();
_height = height.toDouble();
diff --git a/lib/src/vector_math_geometry/generators/geometry_generator.dart b/lib/src/vector_math_geometry/generators/geometry_generator.dart
index 6a2171a..1fec78f 100644
--- a/lib/src/vector_math_geometry/generators/geometry_generator.dart
+++ b/lib/src/vector_math_geometry/generators/geometry_generator.dart
@@ -18,8 +18,7 @@
int get indexCount;
MeshGeometry createGeometry(
- {GeometryGeneratorFlags flags: null,
- List<GeometryFilter> filters: null}) {
+ {GeometryGeneratorFlags flags, List<GeometryFilter> filters}) {
flags ??= new GeometryGeneratorFlags();
VertexAttrib positionAttrib;
diff --git a/lib/src/vector_math_geometry/generators/ring_generator.dart b/lib/src/vector_math_geometry/generators/ring_generator.dart
index d49bc71..ee7c852 100644
--- a/lib/src/vector_math_geometry/generators/ring_generator.dart
+++ b/lib/src/vector_math_geometry/generators/ring_generator.dart
@@ -19,8 +19,8 @@
int get indexCount => (_segments) * 3 * 2;
MeshGeometry createRing(double innerRadius, double outerRadius,
- {GeometryGeneratorFlags flags: null,
- List<GeometryFilter> filters: null,
+ {GeometryGeneratorFlags flags,
+ List<GeometryFilter> filters,
int segments: 64,
double thetaStart: 0.0,
double thetaLength: math.PI * 2.0,
diff --git a/lib/src/vector_math_geometry/generators/sphere_generator.dart b/lib/src/vector_math_geometry/generators/sphere_generator.dart
index fdb4eca..66a970f 100644
--- a/lib/src/vector_math_geometry/generators/sphere_generator.dart
+++ b/lib/src/vector_math_geometry/generators/sphere_generator.dart
@@ -18,8 +18,8 @@
MeshGeometry createSphere(num radius,
{int latSegments: 16,
int lonSegments: 16,
- GeometryGeneratorFlags flags: null,
- List<GeometryFilter> filters: null}) {
+ GeometryGeneratorFlags flags,
+ List<GeometryFilter> filters}) {
_radius = radius.toDouble();
_latSegments = latSegments;
_lonSegments = lonSegments;
diff --git a/lib/src/vector_math_geometry/mesh_geometry.dart b/lib/src/vector_math_geometry/mesh_geometry.dart
index 5eedb53..254d496 100644
--- a/lib/src/vector_math_geometry/mesh_geometry.dart
+++ b/lib/src/vector_math_geometry/mesh_geometry.dart
@@ -95,12 +95,8 @@
MeshGeometry._internal(this.length, this.stride, this.attribs,
[Float32List externBuffer]) {
- if (externBuffer == null) {
- buffer =
- new Float32List((length * stride) ~/ Float32List.BYTES_PER_ELEMENT);
- } else {
- buffer = externBuffer;
- }
+ buffer = externBuffer ??
+ new Float32List((length * stride) ~/ Float32List.BYTES_PER_ELEMENT);
}
MeshGeometry.copy(MeshGeometry mesh)
@@ -112,7 +108,7 @@
buffer.setAll(0, mesh.buffer);
// Copy the indices
- if (indices != null) {
+ if (mesh.indices != null) {
indices = new Uint16List(mesh.indices.length);
indices.setAll(0, mesh.indices);
}