SiMS
|
|
sims/dynamics/Rectangle.scala
]
case
class
Rectangle(val
halfWidth : Double, val
halfHeight : Double, val
density : Double)
extends
Shape with
ConvexPolygon with
scala.ProducthalfWidth -
this rectangle's half widthhalfHeight -
this rectangle's half heightdensity -
density of this rectangleValue Summary | |
val
|
I
: Double
Moment of inertia for a rotation about this shape's COM.
|
val
|
volume
: Double
Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
and is used with this shape's density to calculate its mass.
|
Values and Variables inherited from Shape | |
uid, collidable, restitution, friction, pos, rotation, rotation0, refLocalPos, transientShapes |
Method Summary | |
override def
|
equals
(arg0 : Any) : Boolean
This method is used to compare the receiver object (
this )
with the argument object (arg0 ) for equivalence. |
def
|
halfDiags
: scala.Array[Vector2D]
Returns the vectors from the center to the vertices of this rectangle.
The first vertex is the upper-right vertex at a rotation of 0.
Vertices are ordered counter-clockwise.
|
override def
|
hashCode
: Int
Returns a hash code value for the object.
|
override def
|
productArity : Int |
override def
|
productElement (arg0 : Int) : Any |
override def
|
productPrefix : java.lang.String |
override def
|
toString
: java.lang.String
Returns a string representation of the object.
|
def
|
vertices
: scala.Array[Vector2D]
Returns the position vectors of this rectangle's vertices.
The first vertex is the upper-right vertex at a rotation of 0.
Vertices are ordered counter-clockwise.
|
Methods inherited from ConvexPolygon | |
sides, project, AABB, contains |
Methods inherited from Shape | |
mass, body, asBody, ~, ~ |
Methods inherited from AnyRef | |
getClass, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized |
Methods inherited from Any | |
==, !=, isInstanceOf, asInstanceOf |
Value Details |
val
volume : Double
val
I : Double
Method Details |
def
halfDiags : scala.Array[Vector2D]
def
vertices : scala.Array[Vector2D]
override
def
hashCode : Int
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash
codes (o1.hashCode.equals(o2.hashCode)
) yet not be
equal (o1.equals(o2)
returns false
). A
degenerate implementation could always return 0
.
However, it is required that if two objects are equal
(o1.equals(o2)
returns true
) that they
have identical hash codes
(o1.hashCode.equals(o2.hashCode)
). Therefore, when
overriding this method, be sure to verify that the behavior is
consistent with the equals
method.
override
def
toString : java.lang.String
The default representation is platform dependent.
this
)
with the argument object (arg0
) for equivalence.
The default implementations of this method is an equivalence relation:
x
of type Any
,
x.equals(x)
should return true
.x
and y
of type
Any
, x.equals(y)
should return true
if and only
if y.equals(x)
returns true
.x
, y
, and z
of type AnyRef
if x.equals(y)
returns true
and
y.equals(z)
returns
true
, then x.equals(z)
should return true
.
If you override this method, you should verify that
your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to
override hashCode
to ensure that objects that are
"equal" (o1.equals(o2)
returns true
)
hash to the same Int
(o1.hashCode.equals(o2.hashCode)
).
arg0 -
the object to compare against this object for equality.true
if the receiver object is equivalent to the argument; false
otherwise. override
def
productPrefix : java.lang.String
override
def
productArity : Int
SiMS
|
|