Sofia API Reference

  • Package Index
  • Class Index
  • Packages
  • sofia.app
  • sofia.content
  • sofia.data
  • sofia.graphics
    • Interfaces
    • Joint
    • PropertyTransformer
    • Classes
    • AbstractJoint
    • Anchor
    • Color
    • CoordinateSystem
    • DirectionalPad
    • DistanceJoint
    • ElasticInInterpolator
    • ElasticInOutInterpolator
    • ElasticOutInterpolator
    • FillableShape
    • FillableShape.Animator
    • Geometry
    • Image
    • LineShape
    • MotionStep
    • OvalShape
    • PointAndAnchor
    • Polygon
    • PolygonShape
    • Predicate
    • RectangleShape
    • RevoluteJoint
    • Shape
    • Shape.Animator
    • Shape.Filter
    • ShapeField
    • ShapeFilter
    • ShapeSet
    • ShapeView
    • SizeF
    • StrokedShape
    • StrokedShape.Animator
    • TextShape
    • TextShape.Animator
    • Timings
    • ViewEdges
    • ZIndexComparator
    • Enums
    • RepeatMode
    • ShapeMotion
  • sofia.util
  • sofia.view
  • sofia.widget

public class
ShapeField

extends ShapeSet<ShapeType extends Shape>

Inheritance

  • java.lang.Object
    • sofia.graphics.ShapeSet<ShapeType extends sofia.graphics.Shape>
      • sofia.graphics.ShapeField

Class Overview

A shape field is a shape set that also provides (optional) real-time physics simulation. By default, a ShapeView creates an empty ShapeField to hold its shapes, but you can also have multiple shape fields in an application and swap them in and out of the view as needed (for example, to represent different levels of a game).


Summary

Public Constructors
ShapeField()
Creates a new, empty shape field with no gravity.
Public Methods
boolean add(Shape shape)
Adds the specified shape to this set if it is not already present.
boolean addAll(Collection<? extends Shape> collection)
Adds all of the shapes in the specified collection to this set if they're not already present.
Shape back()
Gets the backmost shape in the shape set.
void clear()
Removes all of the shapes from this set.
boolean contains(Object object)
Returns true if this set contains the specified shape.
boolean containsAll(Collection<?> collection)
Returns true if this set contains all of the shapes of the specified collection.
boolean equals(Object object)
Compares the specified object with this set for equality.
Shape front()
Gets the frontmost shape in the shape set.
Iterator<Shape> frontToBackIterator()
Access an iterator that traverses the collection from "front" (top) to "back" (bottom) in terms of drawing order.
final World getB2World()
This method is intended for internal and advanced usage only.
PointF getGravity()
Gets the gravity of the physical world represented by this shape view.
ShapeFilter<Shape> getShapes()

Gets a filter that can be used to find shapes that match a certain set of criteria.

final ShapeView getView()
int hashCode()
Returns the hash code value for this set.
boolean isEmpty()
Returns true if this set contains no shapes.
Iterator<Shape> iterator()
Returns an iterator over the shapes in this set.
boolean remove(Object object)
Removes the specified shape from this set if it is present.
boolean removeAll(Collection<?> collection)
Removes from this set all of its shapes that are contained in the specified collection.
boolean retainAll(Collection<?> collection)
Retains only the shapes in this set that are contained in the specified collection.
void setDrawingOrder(ZIndexComparator order)
Change the shape order for this shape set.
void setGravity(float xGravity, float yGravity)
Sets the gravity of the physical world represented by this shape view.
void setGravity(PointF gravity)
Sets the gravity of the physical world represented by this shape view.
int size()
Returns the number of shapes in this set (its cardinality).
<T> T[] toArray(T[] array)

Returns an array containing all of the shapes in this set; the runtime type of the returned array is that of the specified array.

Shape[] toArray()
Returns an array containing all of the shapes in this set.
Methods inherited from class sofia.graphics.ShapeSet
boolean add(ShapeType shape)
Adds the specified shape to this set if it is not already present.
boolean addAll(Collection<? extends ShapeType> collection)
Adds all of the shapes in the specified collection to this set if they're not already present.
ShapeType back()
Gets the backmost shape in the shape set.
void clear()
Removes all of the shapes from this set.
boolean contains(Object object)
Returns true if this set contains the specified shape.
boolean containsAll(Collection<?> collection)
Returns true if this set contains all of the shapes of the specified collection.
boolean equals(Object other)
Compares the specified object with this set for equality.
ShapeType front()
Gets the frontmost shape in the shape set.
Iterator<ShapeType> frontToBackIterator()
Access an iterator that traverses the collection from "front" (top) to "back" (bottom) in terms of drawing order.
ZIndexComparator getDrawingOrder()
Get the shape order for this shape set.
int hashCode()
Returns the hash code value for this set.
boolean isEmpty()
Returns true if this set contains no shapes.
boolean isInFrontOf(Shape left, Shape right)
Returns true if the left shape is drawn in front of (later than) the shape on the right.
Iterator<ShapeType> iterator()
Returns an iterator over the shapes in this set.
TreeSet<ShapeType> rawSet()
Gets the TreeSet underlying this shape set.
boolean remove(Object object)
Removes the specified shape from this set if it is present.
boolean removeAll(Collection<?> collection)
Removes from this set all of its shapes that are contained in the specified collection.
boolean retainAll(Collection<?> collection)
Retains only the shapes in this set that are contained in the specified collection.
void setDrawingOrder(ZIndexComparator order)
Change the shape order for this shape set.
int size()
Returns the number of shapes in this set (its cardinality).
<T> T[] toArray(T[] array)

Returns an array containing all of the shapes in this set; the runtime type of the returned array is that of the specified array.

Shape[] toArray()
Returns an array containing all of the shapes in this set.
Methods inherited from class java.lang.Object
Object clone()
boolean equals(Object arg0)
void finalize()
final Class<?> getClass()
int hashCode()
final void notify()
final void notifyAll()
String toString()
final void wait()
final void wait(long arg0, int arg1)
final void wait(long arg0)
Methods inherited from interface java.lang.Iterable
abstract Iterator<T> iterator()
Methods inherited from interface java.util.Collection
abstract boolean add(E arg0)
abstract boolean addAll(Collection<? extends E> arg0)
abstract void clear()
abstract boolean contains(Object arg0)
abstract boolean containsAll(Collection<?> arg0)
abstract boolean equals(Object arg0)
abstract int hashCode()
abstract boolean isEmpty()
abstract Iterator<E> iterator()
abstract boolean remove(Object arg0)
abstract boolean removeAll(Collection<?> arg0)
abstract boolean retainAll(Collection<?> arg0)
abstract int size()
abstract <T> T[] toArray(T[] arg0)
abstract Object[] toArray()
Methods inherited from interface java.util.Set
abstract boolean add(E arg0)
abstract boolean addAll(Collection<? extends E> arg0)
abstract void clear()
abstract boolean contains(Object arg0)
abstract boolean containsAll(Collection<?> arg0)
abstract boolean equals(Object arg0)
abstract int hashCode()
abstract boolean isEmpty()
abstract Iterator<E> iterator()
abstract boolean remove(Object arg0)
abstract boolean removeAll(Collection<?> arg0)
abstract boolean retainAll(Collection<?> arg0)
abstract int size()
abstract <T> T[] toArray(T[] arg0)
abstract Object[] toArray()

Public Constructors

public ShapeField ()

Creates a new, empty shape field with no gravity.


Public Methods

public boolean add (Shape shape)

Adds the specified shape to this set if it is not already present.

Parameters
shape
the shape to be added to this set
Returns

true if this set did not already contain the specified shape

public boolean addAll (Collection<? extends Shape> collection)

Adds all of the shapes in the specified collection to this set if they're not already present.

Parameters
collection
the collection containing shapes to be added to this set
Returns

true if the set changed as a result of this operation

public Shape back ()

Gets the backmost shape in the shape set. This is the shape that has the lowest z-index, or if multiple shapes have the same z-index, the one that was added least recently to its field.

Returns

the backmost shape in the set, or null if the set is empty

public void clear ()

Removes all of the shapes from this set. The set will be empty after this call returns.

public boolean contains (Object object)

Returns true if this set contains the specified shape.

Parameters
object
the shape whose presence in this set is to be tested
Returns

true if this set contains the specified shape

public boolean containsAll (Collection<?> collection)

Returns true if this set contains all of the shapes of the specified collection.

Parameters
collection
the collection to be checked for containment in this set
Returns

true if this set contains all of the shapes of the specified collection

public boolean equals (Object object)

Compares the specified object with this set for equality.

Parameters
object
the object to be compared for equality with this set
Returns

true if the specified object is equal to this set

public Shape front ()

Gets the frontmost shape in the shape set. This is the shape that has the highest z-index, or if multiple shapes have the same z-index, the one that was added most recently to its field.

Returns

the frontmost shape in the set, or null if the set is empty

public Iterator<Shape> frontToBackIterator ()

Access an iterator that traverses the collection from "front" (top) to "back" (bottom) in terms of drawing order.

Returns

An iterator representing this traversal order.

public final World getB2World ()

This method is intended for internal and advanced usage only. Gets the JBox2D World that manages the physical bodies inside this shape view.

Returns

the JBox2D world that manages the physical bodies inside this shape view

public PointF getGravity ()

Gets the gravity of the physical world represented by this shape view.

Returns

a PointF object whose x and y components are the horizontal and vertical acceleration due to gravity (in units/sec^2) of the physical world represented by this shape view

public ShapeFilter<Shape> getShapes ()

Gets a filter that can be used to find shapes that match a certain set of criteria. The search criteria are specified by chaining method calls to the returned filter. For example, to find all the red shapes that intersect with a particular rectangular area on the screen, one can write:

     getShapes().withColor(Color.red).intersecting(0, 0, 50, 50)
 

The ShapeFilter object returned by one of these filter chains implements the Iterable interface so you can easily use it in a for-each loop to process the matching shapes. It also supports other convenience methods; see the documentation for ShapeFilter for more information.

Returns

a ShapeFilter that matches and allows iteration over the shapes that match a set of criteria

public final ShapeView getView ()

public int hashCode ()

Returns the hash code value for this set.

Returns

the hash code value for this set

public boolean isEmpty ()

Returns true if this set contains no shapes.

Returns

true if this set contains no shapes

public Iterator<Shape> iterator ()

Returns an iterator over the shapes in this set. The shapes are returned in order from farthest back (lowest z-index) to farthest forward (highest z-index).

Returns

an iterator over the shapes in this set

public boolean remove (Object object)

Removes the specified shape from this set if it is present.

Parameters
object
the shape to be removed from this set, if present
Returns

true if this set contained the specified shape

public boolean removeAll (Collection<?> collection)

Removes from this set all of its shapes that are contained in the specified collection.

Parameters
collection
the collection containing shapes to be removed from this set
Returns

true if this set changed as a result of the call

public boolean retainAll (Collection<?> collection)

Retains only the shapes in this set that are contained in the specified collection. In other words, removes from this set all of its shapes that are not contained in the specified collection.

Parameters
collection
the collection containing shapes to be retained in this set
Returns

true if this set changed as a result of the call

public void setDrawingOrder (ZIndexComparator order)

Change the shape order for this shape set.

Parameters
order
the new ordering to use
public void setGravity (float xGravity, float yGravity)

Sets the gravity of the physical world represented by this shape view.

Parameters
xGravity
the horizontal acceleration due to gravity (in units/sec^2)
yGravity
the vertical acceleration due to gravity (in units/sec^2)
public void setGravity (PointF gravity)

Sets the gravity of the physical world represented by this shape view.

Parameters
gravity
a PointF whose x and y components are the horizontal and vertical acceleration due to gravity (in units/sec^2) of the physical world represented by this shape view
public int size ()

Returns the number of shapes in this set (its cardinality).

Returns

the number of shapes in this set (its cardinality)

public T[] toArray (T[] array)

Returns an array containing all of the shapes in this set; the runtime type of the returned array is that of the specified array. If the set fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this set.

If this set fits in the specified array with room to spare (i.e., the array has more elements than this set), the element in the array immediately following the end of the set is set to null. (This is useful in determining the length of this set only if the caller knows that this set does not contain any null elements.)

The shapes are returned in order from farthest back (lowest z-index) to farthest forward (highest z-index).

Parameters
array
the array into which the shapes of this set are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
public Shape[] toArray ()

Returns an array containing all of the shapes in this set. The shapes are returned in order from farthest back (lowest z-index) to farthest forward (highest z-index).