Dart Documentationbox2d_htmlSimplexCache

SimplexCache class

Used to warm start distance. Set count to zero on first call.

class SimplexCache {
  /** length or area */
  num metric;

  int count;

  /** vertices on shape A */
  final List<int> indexA;

  /** vertices on shape B */
  final List<int> indexB;

  /**
   * Constructs a new SimplexCache.
   */
  SimplexCache() :
    metric = 0,
    count = 0,
    indexA = new List<int>(3),
    indexB = new List<int>(3) {
    for (int i = 0; i < 3; ++i) {
      indexA[i] = Settings.MAX_INTEGER;
      indexB[i] = Settings.MAX_INTEGER;
    }
  }

  /**
   * Sets this cache equal to the given cache.
   */
  void setFrom(SimplexCache sc) {
    indexA.setRange(0, indexA.length, sc.indexA);
    indexB.setRange(0, indexB.length, sc.indexB);
    metric = sc.metric;
    count = sc.count;
  }
}

Constructors

new SimplexCache() #

Constructs a new SimplexCache.

SimplexCache() :
  metric = 0,
  count = 0,
  indexA = new List<int>(3),
  indexB = new List<int>(3) {
  for (int i = 0; i < 3; ++i) {
    indexA[i] = Settings.MAX_INTEGER;
    indexB[i] = Settings.MAX_INTEGER;
  }
}

Properties

int count #

int count;

final List<int> indexA #

vertices on shape A

final List<int> indexA;

final List<int> indexB #

vertices on shape B

final List<int> indexB;

num metric #

length or area

num metric;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

void setFrom(SimplexCache sc) #

Sets this cache equal to the given cache.

void setFrom(SimplexCache sc) {
  indexA.setRange(0, indexA.length, sc.indexA);
  indexB.setRange(0, indexB.length, sc.indexB);
  metric = sc.metric;
  count = sc.count;
}

new SimplexCache() #

Constructs a new SimplexCache.

SimplexCache() :
  metric = 0,
  count = 0,
  indexA = new List<int>(3),
  indexB = new List<int>(3) {
  for (int i = 0; i < 3; ++i) {
    indexA[i] = Settings.MAX_INTEGER;
    indexB[i] = Settings.MAX_INTEGER;
  }
}

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();