C# 클래스 BEPUutilities.Toolbox

Helper class with many algorithms for intersection testing and 3D math.
파일 보기 프로젝트 열기: Indiefreaks/igf

공개 프로퍼티들

프로퍼티 타입 설명
BackVector System.Vector3
BigEpsilon float
DownVector System.Vector3
Epsilon float
ForwardVector System.Vector3
IdentityOrientation Quaternion
LeftVector System.Vector3
NoVector System.Vector3
RightVector System.Vector3
RigidIdentity RigidTransform
UpVector System.Vector3
ZeroMatrix Matrix
ZeroVector System.Vector3

공개 메소드들

메소드 설명
ArePointsOnOppositeSidesOfPlane ( System.Vector3 &o, System.Vector3 &p, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c ) : bool

Determines if vectors o and p are on opposite sides of the plane defined by a, b, and c.

DifferentiateQuaternion ( Quaternion &orientation, Matrix3x3 &localInertiaTensorInverse, System.Vector3 &angularMomentum, Quaternion &orientationChange ) : void

Finds the change in the rotation state quaternion provided the local inertia tensor and angular velocity.

ExpandBoundingBox ( BEPUutilities.BoundingBox &boundingBox, System.Vector3 &sweep ) : void

Expands a bounding box by the given sweep.

FindRayTriangleIntersection ( BEPUutilities.Ray &ray, float maximumLength, TriangleSidedness sidedness, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, RayHit &hit ) : bool

Determines the intersection between a ray and a triangle.

FindRayTriangleIntersection ( BEPUutilities.Ray &ray, float maximumLength, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, bool &hitClockwise, RayHit &hit ) : bool

Determines the intersection between a ray and a triangle.

GetAngleFromQuaternion ( Quaternion &q ) : float

Computes the angle change represented by a normalized quaternion.

GetAxisAngleFromQuaternion ( Quaternion &q, System.Vector3 &axis, float &angle ) : void

Computes the axis angle representation of a normalized quaternion.

GetBarycentricCoordinates ( System.Vector3 &p, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, float &aWeight, float &bWeight, float &cWeight ) : void

Gets the barycentric coordinates of the point with respect to a triangle's vertices.

GetClosestPointOnSegmentToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &p, System.Vector3 &closestPoint ) : void

Determines the closest point on the provided segment ab to point p.

GetClosestPointOnTetrahedronToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, System.Vector3 &d, System.Vector3 &p, System.Vector3 &closestPoint ) : void

Determines the closest point on a tetrahedron to a provided point p.

GetClosestPointOnTriangleToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, System.Vector3 &p, System.Vector3 &closestPoint ) : VoronoiRegion

Determines the closest point on a triangle given by points a, b, and c to point p.

GetClosestPointsBetweenLines ( System.Vector3 &p1, System.Vector3 &q1, System.Vector3 &p2, System.Vector3 &q2, float &s, float &t, System.Vector3 &c1, System.Vector3 &c2 ) : void

Computes closest points c1 and c2 betwen lines p1q1 and p2q2.

GetClosestPointsBetweenSegments ( System.Vector3 p1, System.Vector3 q1, System.Vector3 p2, System.Vector3 q2, System.Vector3 &c1, System.Vector3 &c2 ) : void

Computes closest points c1 and c2 betwen segments p1q1 and p2q2.

GetClosestPointsBetweenSegments ( System.Vector3 &p1, System.Vector3 &q1, System.Vector3 &p2, System.Vector3 &q2, float &s, float &t, System.Vector3 &c1, System.Vector3 &c2 ) : void

Computes closest points c1 and c2 betwen segments p1q1 and p2q2.

GetDistancePointToPlane ( System.Vector3 &point, System.Vector3 &normal, System.Vector3 &pointOnPlane ) : float

Determines the distance between a point and a plane..

GetLinePlaneIntersection ( System.Vector3 &a, System.Vector3 &b, BEPUutilities.Plane &p, float &t, System.Vector3 &q ) : bool

Finds the intersection between the given line and the given plane.

GetPointProjectedOnPlane ( System.Vector3 &point, System.Vector3 &normal, System.Vector3 &pointOnPlane, System.Vector3 &projectedPoint ) : void

Determines the location of the point when projected onto the plane defined by the normal and a point on the plane.

GetQuaternionBetweenNormalizedVectors ( System.Vector3 &v1, System.Vector3 &v2, Quaternion &q ) : void

Computes the quaternion rotation between two normalized vectors.

GetRayPlaneIntersection ( BEPUutilities.Ray &ray, BEPUutilities.Plane &p, float &t, System.Vector3 &q ) : bool

Finds the intersection between the given ray and the given plane.

GetSegmentPlaneIntersection ( System.Vector3 a, System.Vector3 b, BEPUutilities.Plane p, System.Vector3 &q ) : bool

Finds the intersection between the given segment and the given plane.

GetSegmentPlaneIntersection ( System.Vector3 a, System.Vector3 b, BEPUutilities.Plane p, float &t, System.Vector3 &q ) : bool

Finds the intersection between the given segment and the given plane.

GetSegmentPlaneIntersection ( System.Vector3 a, System.Vector3 b, System.Vector3 d, System.Vector3 e, System.Vector3 f, System.Vector3 &q ) : bool

Finds the intersection between the given segment and the given plane defined by three points.

GetSquaredDistanceFromPointToLine ( System.Vector3 &p, System.Vector3 &a, System.Vector3 &b ) : float

Determines the shortest squared distance from the point to the line.

GetTriangleBoundingBox ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, BEPUutilities.BoundingBox &aabb ) : void

Computes the bounding box of three points.

GetVelocityOfPoint ( System.Vector3 point, System.Vector3 center, System.Vector3 linearVelocity, System.Vector3 angularVelocity ) : System.Vector3

Computes the velocity of a point as if it were attached to an object with the given center and velocity.

GetVelocityOfPoint ( System.Vector3 &point, System.Vector3 &center, System.Vector3 &linearVelocity, System.Vector3 &angularVelocity, System.Vector3 &velocity ) : void

Computes the velocity of a point as if it were attached to an object with the given center and velocity.

IsPointInsideTriangle ( System.Vector3 &vA, System.Vector3 &vB, System.Vector3 &vC, System.Vector3 &p ) : bool

Determines if supplied point is within the triangle as defined by the provided vertices.

IsPointInsideTriangle ( System.Vector3 &vA, System.Vector3 &vB, System.Vector3 &vC, System.Vector3 &p, float margin ) : bool

Determines if supplied point is within the triangle as defined by the provided vertices.

IsPointWithinFaceExtrusion ( System.Vector3 point, List planes, System.Vector3 centroid ) : bool

Determines if a point is within a set of planes defined by the edges of a triangle.

RayCastSphere ( BEPUutilities.Ray &ray, System.Vector3 &spherePosition, float radius, float maximumLength, RayHit &hit ) : bool

Tests a ray against a sphere.

UpdateOrientationRK4 ( Quaternion &q, Matrix3x3 &localInertiaTensorInverse, System.Vector3 &angularMomentum, float dt, Quaternion &newOrientation ) : void

Updates the quaternion using RK4 integration.

비공개 메소드들

메소드 설명
GetClosestPointOnSegmentToPoint ( List q, int i, int j, System.Vector3 &p, List subsimplex, List baryCoords, System.Vector3 &closestPoint ) : void
GetClosestPointOnSegmentToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &p, List subsimplex, System.Vector3 &closestPoint ) : void
GetClosestPointOnTetrahedronToPoint ( RawList tetrahedron, System.Vector3 &p, RawList subsimplex, RawList baryCoords, System.Vector3 &closestPoint ) : void
GetClosestPointOnTetrahedronToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, System.Vector3 &d, System.Vector3 &p, RawList subsimplex, System.Vector3 &closestPoint ) : void
GetClosestPointOnTriangleToPoint ( RawList q, int i, int j, int k, System.Vector3 &p, RawList subsimplex, RawList baryCoords, System.Vector3 &closestPoint ) : void
GetClosestPointOnTriangleToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, System.Vector3 &p, RawList subsimplex, System.Vector3 &closestPoint ) : void

메소드 상세

ArePointsOnOppositeSidesOfPlane() 공개 정적인 메소드

Determines if vectors o and p are on opposite sides of the plane defined by a, b, and c.
public static ArePointsOnOppositeSidesOfPlane ( System.Vector3 &o, System.Vector3 &p, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c ) : bool
o System.Vector3 First point for comparison.
p System.Vector3 Second point for comparison.
a System.Vector3 First vertex of the plane.
b System.Vector3 Second vertex of plane.
c System.Vector3 Third vertex of plane.
리턴 bool

DifferentiateQuaternion() 공개 정적인 메소드

Finds the change in the rotation state quaternion provided the local inertia tensor and angular velocity.
public static DifferentiateQuaternion ( Quaternion &orientation, Matrix3x3 &localInertiaTensorInverse, System.Vector3 &angularMomentum, Quaternion &orientationChange ) : void
orientation Quaternion Orienatation of the object.
localInertiaTensorInverse Matrix3x3 Local-space inertia tensor of the object being updated.
angularMomentum System.Vector3 Angular momentum of the object.
orientationChange Quaternion Change in quaternion.
리턴 void

ExpandBoundingBox() 공개 정적인 메소드

Expands a bounding box by the given sweep.
public static ExpandBoundingBox ( BEPUutilities.BoundingBox &boundingBox, System.Vector3 &sweep ) : void
boundingBox BEPUutilities.BoundingBox Bounding box to expand.
sweep System.Vector3 Sweep to expand the bounding box with.
리턴 void

FindRayTriangleIntersection() 공개 정적인 메소드

Determines the intersection between a ray and a triangle.
public static FindRayTriangleIntersection ( BEPUutilities.Ray &ray, float maximumLength, TriangleSidedness sidedness, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, RayHit &hit ) : bool
ray BEPUutilities.Ray Ray to test.
maximumLength float Maximum length to travel in units of the direction's length.
sidedness TriangleSidedness Sidedness of the triangle to test.
a System.Vector3 First vertex of the triangle.
b System.Vector3 Second vertex of the triangle.
c System.Vector3 Third vertex of the triangle.
hit RayHit Hit data of the ray, if any
리턴 bool

FindRayTriangleIntersection() 공개 정적인 메소드

Determines the intersection between a ray and a triangle.
public static FindRayTriangleIntersection ( BEPUutilities.Ray &ray, float maximumLength, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, bool &hitClockwise, RayHit &hit ) : bool
ray BEPUutilities.Ray Ray to test.
maximumLength float Maximum length to travel in units of the direction's length.
a System.Vector3 First vertex of the triangle.
b System.Vector3 Second vertex of the triangle.
c System.Vector3 Third vertex of the triangle.
hitClockwise bool True if the the triangle was hit on the clockwise face, false otherwise.
hit RayHit Hit data of the ray, if any
리턴 bool

GetAngleFromQuaternion() 공개 정적인 메소드

Computes the angle change represented by a normalized quaternion.
public static GetAngleFromQuaternion ( Quaternion &q ) : float
q Quaternion Quaternion to be converted.
리턴 float

GetAxisAngleFromQuaternion() 공개 정적인 메소드

Computes the axis angle representation of a normalized quaternion.
public static GetAxisAngleFromQuaternion ( Quaternion &q, System.Vector3 &axis, float &angle ) : void
q Quaternion Quaternion to be converted.
axis System.Vector3 Axis represented by the quaternion.
angle float Angle around the axis represented by the quaternion.
리턴 void

GetBarycentricCoordinates() 공개 정적인 메소드

Gets the barycentric coordinates of the point with respect to a triangle's vertices.
public static GetBarycentricCoordinates ( System.Vector3 &p, System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, float &aWeight, float &bWeight, float &cWeight ) : void
p System.Vector3 Point to compute the barycentric coordinates of.
a System.Vector3 First vertex in the triangle.
b System.Vector3 Second vertex in the triangle.
c System.Vector3 Third vertex in the triangle.
aWeight float Weight of the first vertex.
bWeight float Weight of the second vertex.
cWeight float Weight of the third vertex.
리턴 void

GetClosestPointOnSegmentToPoint() 공개 정적인 메소드

Determines the closest point on the provided segment ab to point p.
public static GetClosestPointOnSegmentToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &p, System.Vector3 &closestPoint ) : void
a System.Vector3 First endpoint of segment.
b System.Vector3 Second endpoint of segment.
p System.Vector3 Point for comparison.
closestPoint System.Vector3 Closest point on the edge to p.
리턴 void

GetClosestPointOnTetrahedronToPoint() 공개 정적인 메소드

Determines the closest point on a tetrahedron to a provided point p.
public static GetClosestPointOnTetrahedronToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, System.Vector3 &d, System.Vector3 &p, System.Vector3 &closestPoint ) : void
a System.Vector3 First vertex of the tetrahedron.
b System.Vector3 Second vertex of the tetrahedron.
c System.Vector3 Third vertex of the tetrahedron.
d System.Vector3 Fourth vertex of the tetrahedron.
p System.Vector3 Point for comparison.
closestPoint System.Vector3 Closest point on the tetrahedron to the point.
리턴 void

GetClosestPointOnTriangleToPoint() 공개 정적인 메소드

Determines the closest point on a triangle given by points a, b, and c to point p.
public static GetClosestPointOnTriangleToPoint ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, System.Vector3 &p, System.Vector3 &closestPoint ) : VoronoiRegion
a System.Vector3 First vertex of triangle.
b System.Vector3 Second vertex of triangle.
c System.Vector3 Third vertex of triangle.
p System.Vector3 Point for comparison.
closestPoint System.Vector3 Closest point on tetrahedron to point.
리턴 VoronoiRegion

GetClosestPointsBetweenLines() 공개 정적인 메소드

Computes closest points c1 and c2 betwen lines p1q1 and p2q2.
public static GetClosestPointsBetweenLines ( System.Vector3 &p1, System.Vector3 &q1, System.Vector3 &p2, System.Vector3 &q2, float &s, float &t, System.Vector3 &c1, System.Vector3 &c2 ) : void
p1 System.Vector3 First point of first segment.
q1 System.Vector3 Second point of first segment.
p2 System.Vector3 First point of second segment.
q2 System.Vector3 Second point of second segment.
s float Distance along the line to the point for first segment.
t float Distance along the line to the point for second segment.
c1 System.Vector3 Closest point on first segment.
c2 System.Vector3 Closest point on second segment.
리턴 void

GetClosestPointsBetweenSegments() 공개 정적인 메소드

Computes closest points c1 and c2 betwen segments p1q1 and p2q2.
public static GetClosestPointsBetweenSegments ( System.Vector3 p1, System.Vector3 q1, System.Vector3 p2, System.Vector3 q2, System.Vector3 &c1, System.Vector3 &c2 ) : void
p1 System.Vector3 First point of first segment.
q1 System.Vector3 Second point of first segment.
p2 System.Vector3 First point of second segment.
q2 System.Vector3 Second point of second segment.
c1 System.Vector3 Closest point on first segment.
c2 System.Vector3 Closest point on second segment.
리턴 void

GetClosestPointsBetweenSegments() 공개 정적인 메소드

Computes closest points c1 and c2 betwen segments p1q1 and p2q2.
public static GetClosestPointsBetweenSegments ( System.Vector3 &p1, System.Vector3 &q1, System.Vector3 &p2, System.Vector3 &q2, float &s, float &t, System.Vector3 &c1, System.Vector3 &c2 ) : void
p1 System.Vector3 First point of first segment.
q1 System.Vector3 Second point of first segment.
p2 System.Vector3 First point of second segment.
q2 System.Vector3 Second point of second segment.
s float Distance along the line to the point for first segment.
t float Distance along the line to the point for second segment.
c1 System.Vector3 Closest point on first segment.
c2 System.Vector3 Closest point on second segment.
리턴 void

GetDistancePointToPlane() 공개 정적인 메소드

Determines the distance between a point and a plane..
public static GetDistancePointToPlane ( System.Vector3 &point, System.Vector3 &normal, System.Vector3 &pointOnPlane ) : float
point System.Vector3 Point to project onto plane.
normal System.Vector3 Normal of the plane.
pointOnPlane System.Vector3 Point located on the plane.
리턴 float

GetLinePlaneIntersection() 공개 정적인 메소드

Finds the intersection between the given line and the given plane.
public static GetLinePlaneIntersection ( System.Vector3 &a, System.Vector3 &b, BEPUutilities.Plane &p, float &t, System.Vector3 &q ) : bool
a System.Vector3 First endpoint of segment defining the line.
b System.Vector3 Second endpoint of segment defining the line.
p BEPUutilities.Plane Plane for comparison.
t float Interval along line to intersection (A + t * AB).
q System.Vector3 Intersection point.
리턴 bool

GetPointProjectedOnPlane() 공개 정적인 메소드

Determines the location of the point when projected onto the plane defined by the normal and a point on the plane.
public static GetPointProjectedOnPlane ( System.Vector3 &point, System.Vector3 &normal, System.Vector3 &pointOnPlane, System.Vector3 &projectedPoint ) : void
point System.Vector3 Point to project onto plane.
normal System.Vector3 Normal of the plane.
pointOnPlane System.Vector3 Point located on the plane.
projectedPoint System.Vector3 Projected location of point onto plane.
리턴 void

GetQuaternionBetweenNormalizedVectors() 공개 정적인 메소드

Computes the quaternion rotation between two normalized vectors.
public static GetQuaternionBetweenNormalizedVectors ( System.Vector3 &v1, System.Vector3 &v2, Quaternion &q ) : void
v1 System.Vector3 First unit-length vector.
v2 System.Vector3 Second unit-length vector.
q Quaternion Quaternion representing the rotation from v1 to v2.
리턴 void

GetRayPlaneIntersection() 공개 정적인 메소드

Finds the intersection between the given ray and the given plane.
public static GetRayPlaneIntersection ( BEPUutilities.Ray &ray, BEPUutilities.Plane &p, float &t, System.Vector3 &q ) : bool
ray BEPUutilities.Ray Ray to test against the plane.
p BEPUutilities.Plane Plane for comparison.
t float Interval along line to intersection (A + t * AB).
q System.Vector3 Intersection point.
리턴 bool

GetSegmentPlaneIntersection() 공개 정적인 메소드

Finds the intersection between the given segment and the given plane.
public static GetSegmentPlaneIntersection ( System.Vector3 a, System.Vector3 b, BEPUutilities.Plane p, System.Vector3 &q ) : bool
a System.Vector3 First endpoint of segment.
b System.Vector3 Second enpoint of segment.
p BEPUutilities.Plane Plane for comparison.
q System.Vector3 Intersection point.
리턴 bool

GetSegmentPlaneIntersection() 공개 정적인 메소드

Finds the intersection between the given segment and the given plane.
public static GetSegmentPlaneIntersection ( System.Vector3 a, System.Vector3 b, BEPUutilities.Plane p, float &t, System.Vector3 &q ) : bool
a System.Vector3 First endpoint of segment.
b System.Vector3 Second endpoint of segment.
p BEPUutilities.Plane Plane for comparison.
t float Interval along segment to intersection.
q System.Vector3 Intersection point.
리턴 bool

GetSegmentPlaneIntersection() 공개 정적인 메소드

Finds the intersection between the given segment and the given plane defined by three points.
public static GetSegmentPlaneIntersection ( System.Vector3 a, System.Vector3 b, System.Vector3 d, System.Vector3 e, System.Vector3 f, System.Vector3 &q ) : bool
a System.Vector3 First endpoint of segment.
b System.Vector3 Second endpoint of segment.
d System.Vector3 First vertex of a triangle which lies on the plane.
e System.Vector3 Second vertex of a triangle which lies on the plane.
f System.Vector3 Third vertex of a triangle which lies on the plane.
q System.Vector3 Intersection point.
리턴 bool

GetSquaredDistanceFromPointToLine() 공개 정적인 메소드

Determines the shortest squared distance from the point to the line.
public static GetSquaredDistanceFromPointToLine ( System.Vector3 &p, System.Vector3 &a, System.Vector3 &b ) : float
p System.Vector3 Point to check against the line.
a System.Vector3 First point on the line.
b System.Vector3 Second point on the line.
리턴 float

GetTriangleBoundingBox() 공개 정적인 메소드

Computes the bounding box of three points.
public static GetTriangleBoundingBox ( System.Vector3 &a, System.Vector3 &b, System.Vector3 &c, BEPUutilities.BoundingBox &aabb ) : void
a System.Vector3 First vertex of the triangle.
b System.Vector3 Second vertex of the triangle.
c System.Vector3 Third vertex of the triangle.
aabb BEPUutilities.BoundingBox Bounding box of the triangle.
리턴 void

GetVelocityOfPoint() 공개 정적인 메소드

Computes the velocity of a point as if it were attached to an object with the given center and velocity.
public static GetVelocityOfPoint ( System.Vector3 point, System.Vector3 center, System.Vector3 linearVelocity, System.Vector3 angularVelocity ) : System.Vector3
point System.Vector3 Point to compute the velocity of.
center System.Vector3 Center of the object to which the point is attached.
linearVelocity System.Vector3 Linear velocity of the object.
angularVelocity System.Vector3 Angular velocity of the object.
리턴 System.Vector3

GetVelocityOfPoint() 공개 정적인 메소드

Computes the velocity of a point as if it were attached to an object with the given center and velocity.
public static GetVelocityOfPoint ( System.Vector3 &point, System.Vector3 &center, System.Vector3 &linearVelocity, System.Vector3 &angularVelocity, System.Vector3 &velocity ) : void
point System.Vector3 Point to compute the velocity of.
center System.Vector3 Center of the object to which the point is attached.
linearVelocity System.Vector3 Linear velocity of the object.
angularVelocity System.Vector3 Angular velocity of the object.
velocity System.Vector3 Velocity of the point.
리턴 void

IsPointInsideTriangle() 공개 정적인 메소드

Determines if supplied point is within the triangle as defined by the provided vertices.
public static IsPointInsideTriangle ( System.Vector3 &vA, System.Vector3 &vB, System.Vector3 &vC, System.Vector3 &p ) : bool
vA System.Vector3 A vertex of the triangle.
vB System.Vector3 A vertex of the triangle.
vC System.Vector3 A vertex of the triangle.
p System.Vector3 The point for comparison against the triangle.
리턴 bool

IsPointInsideTriangle() 공개 정적인 메소드

Determines if supplied point is within the triangle as defined by the provided vertices.
public static IsPointInsideTriangle ( System.Vector3 &vA, System.Vector3 &vB, System.Vector3 &vC, System.Vector3 &p, float margin ) : bool
vA System.Vector3 A vertex of the triangle.
vB System.Vector3 A vertex of the triangle.
vC System.Vector3 A vertex of the triangle.
p System.Vector3 The point for comparison against the triangle.
margin float Extra area on the edges of the triangle to include. Can be negative.
리턴 bool

IsPointWithinFaceExtrusion() 공개 정적인 메소드

Determines if a point is within a set of planes defined by the edges of a triangle.
public static IsPointWithinFaceExtrusion ( System.Vector3 point, List planes, System.Vector3 centroid ) : bool
point System.Vector3 Point for comparison.
planes List Edge planes.
centroid System.Vector3 A point known to be inside of the planes.
리턴 bool

RayCastSphere() 공개 정적인 메소드

Tests a ray against a sphere.
public static RayCastSphere ( BEPUutilities.Ray &ray, System.Vector3 &spherePosition, float radius, float maximumLength, RayHit &hit ) : bool
ray BEPUutilities.Ray Ray to test.
spherePosition System.Vector3 Position of the sphere.
radius float Radius of the sphere.
maximumLength float Maximum length of the ray in units of the ray direction's length.
hit RayHit Hit data of the ray, if any.
리턴 bool

UpdateOrientationRK4() 공개 정적인 메소드

Updates the quaternion using RK4 integration.
public static UpdateOrientationRK4 ( Quaternion &q, Matrix3x3 &localInertiaTensorInverse, System.Vector3 &angularMomentum, float dt, Quaternion &newOrientation ) : void
q Quaternion Quaternion to update.
localInertiaTensorInverse Matrix3x3 Local-space inertia tensor of the object being updated.
angularMomentum System.Vector3 Angular momentum of the object.
dt float Time since last frame, in seconds.
newOrientation Quaternion New orientation quaternion.
리턴 void

프로퍼티 상세

BackVector 공개적으로 정적으로 프로퍼티

Reference for a vector with dimensions (0,0,1).
public static Vector3,System BackVector
리턴 System.Vector3

BigEpsilon 공개적으로 정적으로 프로퍼티

Large tolerance value. Defaults to 1e-5f.
public static float BigEpsilon
리턴 float

DownVector 공개적으로 정적으로 프로퍼티

Reference for a vector with dimensions (0,-1,0).
public static Vector3,System DownVector
리턴 System.Vector3

Epsilon 공개적으로 정적으로 프로퍼티

Tolerance value. Defaults to 1e-7f.
public static float Epsilon
리턴 float

ForwardVector 공개적으로 정적으로 프로퍼티

Reference for a vector with dimensions (0,0,-1).
public static Vector3,System ForwardVector
리턴 System.Vector3

IdentityOrientation 공개적으로 정적으로 프로퍼티

Refers to the identity quaternion.
public static Quaternion IdentityOrientation
리턴 Quaternion

LeftVector 공개적으로 정적으로 프로퍼티

Reference for a vector with dimensions (-1,0,0).
public static Vector3,System LeftVector
리턴 System.Vector3

NoVector 공개적으로 정적으로 프로퍼티

Represents an invalid Vector3.
public static Vector3,System NoVector
리턴 System.Vector3

RightVector 공개적으로 정적으로 프로퍼티

Reference for a vector with dimensions (1,0,0).
public static Vector3,System RightVector
리턴 System.Vector3

RigidIdentity 공개적으로 정적으로 프로퍼티

Refers to the rigid identity transformation.
public static RigidTransform,BEPUutilities RigidIdentity
리턴 RigidTransform

UpVector 공개적으로 정적으로 프로퍼티

Reference for a vector with dimensions (0,1,0).
public static Vector3,System UpVector
리턴 System.Vector3

ZeroMatrix 공개적으로 정적으로 프로퍼티

Matrix containing zeroes for every element.
public static Matrix ZeroMatrix
리턴 Matrix

ZeroVector 공개적으로 정적으로 프로퍼티

Reference for a vector with dimensions (0,0,0).
public static Vector3,System ZeroVector
리턴 System.Vector3