Dart Documentationbox2d_consoleContactConstraint

ContactConstraint class

class ContactConstraint {
  List<ContactConstraintPoint> points;

  final Vector localNormal;
  final Vector localPoint;
  final Vector normal;

  final Matrix22 normalMass;
  //TODO(gregbglw): What does K mean? Find out and change the name.
  final Matrix22 K;

  Body bodyA;
  Body bodyB;

  int type;

  num radius;
  num friction;
  num restitution;
  int pointCount;

  Manifold manifold;

  ContactConstraint() :
    points = new List<ContactConstraintPoint>(Settings.MAX_MANIFOLD_POINTS),
    pointCount = 0,
    manifold = null,
    localNormal = new Vector(),
    localPoint = new Vector(),
    normal = new Vector(),
    normalMass = new Matrix22(),
    K = new Matrix22() {
    for (int i = 0; i < Settings.MAX_MANIFOLD_POINTS; i++) {
        points[i] = new ContactConstraintPoint();
    }
  }

  void setFrom(ContactConstraint cp) {
    pointCount = cp.pointCount;
    localNormal.setFrom(cp.localNormal);
    localPoint.setFrom(cp.localPoint);
    normal.setFrom(cp.normal);
    normalMass.setFrom(cp.normalMass);
    K.setFrom(cp.K);
    bodyA = cp.bodyA;
    bodyB = cp.bodyB;
    type = cp.type;
    radius = cp.radius;
    friction = cp.friction;
    restitution = cp.restitution;
    manifold = cp.manifold;
    for(int i=0; i<cp.pointCount; i++) {
      points[i].setFrom(cp.points[i]);
    }
  }

  String toString() {
    String result = 'localNormal: "$localNormal", localPoint: "$localPoint" '
        'normal: "$normal", radius: "$radius" friction: "$friction" '
        'restitution: "$restitution", pointCount: "$pointCount"';
    return result;
  }
}

Constructors

new ContactConstraint() #

ContactConstraint() :
  points = new List<ContactConstraintPoint>(Settings.MAX_MANIFOLD_POINTS),
  pointCount = 0,
  manifold = null,
  localNormal = new Vector(),
  localPoint = new Vector(),
  normal = new Vector(),
  normalMass = new Matrix22(),
  K = new Matrix22() {
  for (int i = 0; i < Settings.MAX_MANIFOLD_POINTS; i++) {
      points[i] = new ContactConstraintPoint();
  }
}

Properties

Body bodyA #

Body bodyA;

Body bodyB #

Body bodyB;

num friction #

num friction;

final Matrix22 K #

final Matrix22 K;

final Vector localNormal #

final Vector localNormal;

final Vector localPoint #

final Vector localPoint;

Manifold manifold #

Manifold manifold;

final Vector normal #

final Vector normal;

final Matrix22 normalMass #

final Matrix22 normalMass;

int pointCount #

int pointCount;

List<ContactConstraintPoint> points #

List<ContactConstraintPoint> points;

num radius #

num radius;

num restitution #

num restitution;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

int type #

int type;

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

new ContactConstraint() #

ContactConstraint() :
  points = new List<ContactConstraintPoint>(Settings.MAX_MANIFOLD_POINTS),
  pointCount = 0,
  manifold = null,
  localNormal = new Vector(),
  localPoint = new Vector(),
  normal = new Vector(),
  normalMass = new Matrix22(),
  K = new Matrix22() {
  for (int i = 0; i < Settings.MAX_MANIFOLD_POINTS; i++) {
      points[i] = new ContactConstraintPoint();
  }
}

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(ContactConstraint cp) #

void setFrom(ContactConstraint cp) {
  pointCount = cp.pointCount;
  localNormal.setFrom(cp.localNormal);
  localPoint.setFrom(cp.localPoint);
  normal.setFrom(cp.normal);
  normalMass.setFrom(cp.normalMass);
  K.setFrom(cp.K);
  bodyA = cp.bodyA;
  bodyB = cp.bodyB;
  type = cp.type;
  radius = cp.radius;
  friction = cp.friction;
  restitution = cp.restitution;
  manifold = cp.manifold;
  for(int i=0; i<cp.pointCount; i++) {
    points[i].setFrom(cp.points[i]);
  }
}

String toString() #

Returns a string representation of this object.

docs inherited from Object
String toString() {
  String result = 'localNormal: "$localNormal", localPoint: "$localPoint" '
      'normal: "$normal", radius: "$radius" friction: "$friction" '
      'restitution: "$restitution", pointCount: "$pointCount"';
  return result;
}