diff --git a/.gitignore b/.gitignore
index 525c048bd..8b9db8a82 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,9 @@ obj
/Sources/Release
/Sources/*.opensdf
+
+/Sources/[Pp]ackages
+[Pp]ublish
+*.opendb
+*.db
+/Sources/UpgradeLog.htm
diff --git a/Externals/SharpDX/PCL/SharpDX.dll b/Externals/SharpDX/PCL/SharpDX.dll
new file mode 100644
index 000000000..dcb4ce786
Binary files /dev/null and b/Externals/SharpDX/PCL/SharpDX.dll differ
diff --git a/Externals/SharpDX/WP8/ARM/SharpDX.WP8.winmd b/Externals/SharpDX/WP8/ARM/SharpDX.WP8.winmd
new file mode 100644
index 000000000..f368078b4
Binary files /dev/null and b/Externals/SharpDX/WP8/ARM/SharpDX.WP8.winmd differ
diff --git a/Externals/SharpDX/WP8/ARM/SharpDX.dll b/Externals/SharpDX/WP8/ARM/SharpDX.dll
new file mode 100644
index 000000000..d43a6849f
Binary files /dev/null and b/Externals/SharpDX/WP8/ARM/SharpDX.dll differ
diff --git a/Externals/SharpDX/WP8/ARM/SharpDX.xml b/Externals/SharpDX/WP8/ARM/SharpDX.xml
new file mode 100644
index 000000000..7a0f74bf1
--- /dev/null
+++ b/Externals/SharpDX/WP8/ARM/SharpDX.xml
@@ -0,0 +1,50926 @@
+
+
+
+ SharpDX
+
+
+
+
+ Represents a unit independent angle using a single-precision floating-point
+ internal representation.
+
+
+
+
+ Implement this interface to serialize datas with .
+
+
+
+
+ Reads or writes datas from/to the given binary serializer.
+
+ The binary serializer.
+
+
+
+ A value that specifies the size of a single degree.
+
+
+
+
+ A value that specifies the size of a single minute.
+
+
+
+
+ A value that specifies the size of a single second.
+
+
+
+
+ A value that specifies the size of a single radian.
+
+
+
+
+ A value that specifies the size of a single milliradian.
+
+
+
+
+ A value that specifies the size of a single gradian.
+
+
+
+
+ The internal representation of the angle.
+
+
+
+
+ Initializes a new instance of the SharpDX.AngleSingle structure with the
+ given unit dependant angle and unit type.
+
+ A unit dependant measure of the angle.
+ The type of unit the angle argument is.
+
+
+
+ Initializes a new instance of the SharpDX.AngleSingle structure using the
+ arc length formula (θ = s/r).
+
+ The measure of the arc.
+ The radius of the circle.
+
+
+
+ Wraps this SharpDX.AngleSingle to be in the range [Ï€, -Ï€].
+
+
+
+
+ Wraps this SharpDX.AngleSingle to be in the range [0, 2Ï€).
+
+
+
+
+ Wraps the SharpDX.AngleSingle given in the value argument to be in the range [Ï€, -Ï€].
+
+ A SharpDX.AngleSingle to wrap.
+ The SharpDX.AngleSingle that is wrapped.
+
+
+
+ Wraps the SharpDX.AngleSingle given in the value argument to be in the range [0, 2Ï€).
+
+ A SharpDX.AngleSingle to wrap.
+ The SharpDX.AngleSingle that is wrapped.
+
+
+
+ Compares two SharpDX.AngleSingle instances and returns the smaller angle.
+
+ The first SharpDX.AngleSingle instance to compare.
+ The second SharpDX.AngleSingle instance to compare.
+ The smaller of the two given SharpDX.AngleSingle instances.
+
+
+
+ Compares two SharpDX.AngleSingle instances and returns the greater angle.
+
+ The first SharpDX.AngleSingle instance to compare.
+ The second SharpDX.AngleSingle instance to compare.
+ The greater of the two given SharpDX.AngleSingle instances.
+
+
+
+ Adds two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to add.
+ The second object to add.
+ The value of the two objects added together.
+
+
+
+ Subtracts two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to subtract.
+ The second object to subtract.
+ The value of the two objects subtracted.
+
+
+
+ Multiplies two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to multiply.
+ The second object to multiply.
+ The value of the two objects multiplied together.
+
+
+
+ Divides two SharpDX.AngleSingle objects and returns the result.
+
+ The numerator object.
+ The denominator object.
+ The value of the two objects divided.
+
+
+
+ Returns a System.Boolean that indicates whether the values of two SharpDX.Angle
+ objects are equal.
+
+ The first object to compare.
+ The second object to compare.
+ True if the left and right parameters have the same value; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether the values of two SharpDX.Angle
+ objects are not equal.
+
+ The first object to compare.
+ The second object to compare.
+ True if the left and right parameters do not have the same value; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is less than another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is less than right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is greater than another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is greater than right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is less than or equal to another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is less than or equal to right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is greater than or equal to another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is greater than or equal to right; otherwise, false.
+
+
+
+ Returns the value of the SharpDX.AngleSingle operand. (The sign of
+ the operand is unchanged.)
+
+ A SharpDX.AngleSingle object.
+ The value of the value parameter.
+
+
+
+ Returns the the negated value of the SharpDX.AngleSingle operand.
+
+ A SharpDX.AngleSingle object.
+ The negated value of the value parameter.
+
+
+
+ Adds two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to add.
+ The second object to add.
+ The value of the two objects added together.
+
+
+
+ Subtracts two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to subtract
+ The second object to subtract.
+ The value of the two objects subtracted.
+
+
+
+ Multiplies two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to multiply.
+ The second object to multiply.
+ The value of the two objects multiplied together.
+
+
+
+ Divides two SharpDX.AngleSingle objects and returns the result.
+
+ The numerator object.
+ The denominator object.
+ The value of the two objects divided.
+
+
+
+ Compares this instance to a specified object and returns an integer that
+ indicates whether the value of this instance is less than, equal to, or greater
+ than the value of the specified object.
+
+ The object to compare.
+
+ A signed integer that indicates the relationship of the current instance
+ to the obj parameter. If the value is less than zero, the current instance
+ is less than the other. If the value is zero, the current instance is equal
+ to the other. If the value is greater than zero, the current instance is
+ greater than the other.
+
+
+
+
+ Compares this instance to a second SharpDX.AngleSingle and returns
+ an integer that indicates whether the value of this instance is less than,
+ equal to, or greater than the value of the specified object.
+
+ The object to compare.
+
+ A signed integer that indicates the relationship of the current instance
+ to the obj parameter. If the value is less than zero, the current instance
+ is less than the other. If the value is zero, the current instance is equal
+ to the other. If the value is greater than zero, the current instance is
+ greater than the other.
+
+
+
+
+ Returns a value that indicates whether the current instance and a specified
+ SharpDX.AngleSingle object have the same value.
+
+ The object to compare.
+
+ Returns true if this SharpDX.AngleSingle object and another have the same value;
+ otherwise, false.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this SharpDX.AngleSingle instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+ Returns a value that indicates whether the current instance and a specified
+ object have the same value.
+
+ The object to compare.
+
+ Returns true if the obj parameter is a SharpDX.AngleSingle object or a type
+ capable of implicit conversion to a SharpDX.AngleSingle value, and
+ its value is equal to the value of the current SharpDX.Angle
+ object; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the total number of revolutions this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the total number of degrees this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the minutes component of the degrees this SharpDX.AngleSingle represents.
+ When setting the minutes, if the value is in the range (-60, 60) the whole degrees are
+ not changed; otherwise, the whole degrees may be changed. Fractional values may set
+ the seconds component.
+
+
+
+
+ Gets or sets the seconds of the degrees this SharpDX.AngleSingle represents.
+ When setting the seconds, if the value is in the range (-60, 60) the whole minutes
+ or whole degrees are not changed; otherwise, the whole minutes or whole degrees
+ may be changed.
+
+
+
+
+ Gets or sets the total number of radians this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the total number of milliradians this SharpDX.AngleSingle represents.
+ One milliradian is equal to 1/(2000Ï€).
+
+
+
+
+ Gets or sets the total number of gradians this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a right angle (i.e. 90° or π/2).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a straight angle (i.e. 180° or π).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a full rotation angle (i.e. 360° or 2π).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an oblique angle (i.e. is not 90° or a multiple of 90°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an acute angle (i.e. less than 90° but greater than 0°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an obtuse angle (i.e. greater than 90° but less than 180°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a reflex angle (i.e. greater than 180° but less than 360°).
+
+
+
+
+ Gets a SharpDX.AngleSingle instance that complements this angle (i.e. the two angles add to 90°).
+
+
+
+
+ Gets a SharpDX.AngleSingle instance that supplements this angle (i.e. the two angles add to 180°).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the zero angle (i.e. 0°).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the right angle (i.e. 90° or π/2).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the straight angle (i.e. 180° or π).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the full rotation angle (i.e. 360° or 2π).
+
+
+
+
+ A boolean value stored on 4 bytes (instead of 1 in .NET).
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [bool value].
+
+
+
+ Indicates whether this instance and a specified object are equal.
+
+ The other.
+ true if and this instance are the same type and represent the same value; otherwise, false.
+
+
+
+ Implements the ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+
+
+
+ Represents an axis-aligned bounding box in three dimensional space.
+
+
+
+
+ The minimum point of the box.
+
+
+
+
+ The maximum point of the box.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The minimum vertex of the bounding box.
+ The maximum vertex of the bounding box.
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the box.
+ When the method completes, contains the newly constructed bounding box.
+ Thrown when is null.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the box.
+ The newly constructed bounding box.
+ Thrown when is null.
+
+
+
+ Constructs a from a given sphere.
+
+ The sphere that will designate the extents of the box.
+ When the method completes, contains the newly constructed bounding box.
+
+
+
+ Constructs a from a given sphere.
+
+ The sphere that will designate the extents of the box.
+ The newly constructed bounding box.
+
+
+
+ Constructs a that is as large as the total combined area of the two specified boxes.
+
+ The first box to merge.
+ The second box to merge.
+ When the method completes, contains the newly constructed bounding box.
+
+
+
+ Constructs a that is as large as the total combined area of the two specified boxes.
+
+ The first box to merge.
+ The second box to merge.
+ The newly constructed bounding box.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Defines a frustum which can be used in frustum culling, zoom to Extents (zoom to fit) operations,
+ (matrix, frustum, camera) interchange, and many kind of intersection testing.
+
+
+
+
+ Creates a new instance of BoundingFrustum.
+
+ Combined matrix that usually takes view × projection matrix.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Returns one of the 6 planes related to this frustum.
+
+ Plane index where 0 fro Left, 1 for Right, 2 for Top, 3 for Bottom, 4 for Near, 5 for Far
+
+
+
+
+ Creates a new frustum relaying on perspective camera parameters
+
+ The camera pos.
+ The look dir.
+ Up dir.
+ The fov.
+ The znear.
+ The zfar.
+ The aspect.
+ The bounding frustum calculated from perspective camera
+
+
+
+ Creates a new frustum relaying on perspective camera parameters
+
+ The camera params.
+ The bounding frustum from camera params
+
+
+
+ Returns the 8 corners of the frustum, element0 is Near1 (near right down corner)
+ , element1 is Near2 (near right top corner)
+ , element2 is Near3 (near Left top corner)
+ , element3 is Near4 (near Left down corner)
+ , element4 is Far1 (far right down corner)
+ , element5 is Far2 (far right top corner)
+ , element6 is Far3 (far left top corner)
+ , element7 is Far4 (far left down corner)
+
+ The 8 corners of the frustum
+
+
+
+ Returns the 8 corners of the frustum, element0 is Near1 (near right down corner)
+ , element1 is Near2 (near right top corner)
+ , element2 is Near3 (near Left top corner)
+ , element3 is Near4 (near Left down corner)
+ , element4 is Far1 (far right down corner)
+ , element5 is Far2 (far right top corner)
+ , element6 is Far3 (far left top corner)
+ , element7 is Far4 (far left down corner)
+
+ The 8 corners of the frustum
+
+
+
+ Extracts perspective camera parameters from the frustum, doesn't work with orthographic frustums.
+
+ Perspective camera parameters from the frustum
+
+
+
+ Checks whether a point lay inside, intersects or lay outside the frustum.
+
+ The point.
+ Type of the containment
+
+
+
+ Checks whether a point lay inside, intersects or lay outside the frustum.
+
+ The point.
+ Type of the containment
+
+
+
+ Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint).
+
+ The points.
+ Type of the containment
+
+
+
+ Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint).
+
+ The points.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingSphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingSphere.
+
+ The sphere.
+ Set to true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingBox.
+
+ The box.
+ true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingBox.
+
+ The box.
+ true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Plane.
+
+ The plane.
+ Plane intersection type.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Plane.
+
+ The plane.
+ Plane intersection type.
+
+
+
+ Get the width of the frustum at specified depth.
+
+ the depth at which to calculate frustum width.
+ With of the frustum at the specified depth
+
+
+
+ Get the height of the frustum at specified depth.
+
+ the depth at which to calculate frustum height.
+ Height of the frustum at the specified depth
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Ray.
+
+ The ray.
+ true if the current BoundingFrustum intersects the specified Ray.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Ray.
+
+ The Ray to check for intersection with.
+ The distance at which the ray enters the frustum if there is an intersection and the ray starts outside the frustum.
+ The distance at which the ray exits the frustum if there is an intersection.
+ true if the current BoundingFrustum intersects the specified Ray.
+
+
+
+ Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+ if the returned value is positive, the camera will move toward the lookat direction (ZoomIn).
+ if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut).
+
+ The points.
+ The zoom to fit distance
+
+
+
+ Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+ if the returned value is positive, the camera will move toward the lookat direction (ZoomIn).
+ if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut).
+
+ The bounding box.
+ The zoom to fit distance
+
+
+
+ Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+
+ The points.
+ The zoom to fit vector
+
+
+
+ Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+
+ The bounding box.
+ The zoom to fit vector
+
+
+
+
+
+
+ Gets or sets the Matrix that describes this bounding frustum.
+
+
+
+
+ Gets the near plane of the BoundingFrustum.
+
+
+
+
+ Gets the far plane of the BoundingFrustum.
+
+
+
+
+ Gets the left plane of the BoundingFrustum.
+
+
+
+
+ Gets the right plane of the BoundingFrustum.
+
+
+
+
+ Gets the top plane of the BoundingFrustum.
+
+
+
+
+ Gets the bottom plane of the BoundingFrustum.
+
+
+
+
+ Indicate whether the current BoundingFrustrum is Orthographic.
+
+
+ true if the current BoundingFrustrum is Orthographic; otherwise, false.
+
+
+
+
+ Represents a bounding sphere in three dimensional space.
+
+
+
+
+ The center of the sphere in three dimensional space.
+
+
+
+
+ The radius of the sphere.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The center of the sphere in three dimensional space.
+ The radius of the sphere.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ The start index from points array to start compute the bounding sphere.
+ The count of points to process to compute the bounding sphere.
+ When the method completes, contains the newly constructed bounding sphere.
+ points
+
+ start
+ or
+ count
+
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ When the method completes, contains the newly constructed bounding sphere.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ The newly constructed bounding sphere.
+
+
+
+ Constructs a from a given box.
+
+ The box that will designate the extents of the sphere.
+ When the method completes, the newly constructed bounding sphere.
+
+
+
+ Constructs a from a given box.
+
+ The box that will designate the extents of the sphere.
+ The newly constructed bounding sphere.
+
+
+
+ Constructs a that is the as large as the total combined area of the two specified spheres.
+
+ The first sphere to merge.
+ The second sphere to merge.
+ When the method completes, contains the newly constructed bounding sphere.
+
+
+
+ Constructs a that is the as large as the total combined area of the two specified spheres.
+
+ The first sphere to merge.
+ The second sphere to merge.
+ The newly constructed bounding sphere.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Callback base implementation of .
+
+
+
+
+ Base class for a class.
+
+
+
+
+ Releases unmanaged resources and performs other cleanup operations before the
+ is reclaimed by garbage collection.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Occurs when this instance is starting to be disposed.
+
+
+
+
+ Occurs when this instance is fully disposed.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+ true if this instance is disposed; otherwise, false.
+
+
+
+
+ Use this interface to tag a class that is called by an unmanaged
+ object. A class must dispose the
+ on dispose.
+
+
+
+
+ Gets or sets the unmanaged shadow callback.
+
+ The unmanaged shadow callback.
+
+ This property is set whenever this instance has an unmanaged shadow callback
+ registered. This callback must be disposed when disposing this instance.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Provides for default value types.
+
+
+
+
+ A default for .
+
+
+
+
+ An observable collection.
+
+ Type of a collection item
+
+
+
+ Raised when an item is added to this instance.
+
+
+
+
+ Raised when a item is removed from this instance.
+
+
+
+
+ An event providing the item changed in a collection (inserted or removed).
+
+ Type of a collection item
+
+
+
+ Initializes a new instance of the class.
+
+ The item from the collection.
+
+
+
+ Gets the item from the collection that was inserted or removed.
+
+ The collection item.
+
+
+
+ An observable dictionary.
+
+ The dictionary's key type.
+ The dictionary's value type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the enumerator of this dictionary.
+
+ The enumerator instance of the dictionary.
+
+
+
+ Removes all items from the dictionary.
+
+
+
+
+ Adds a new value with the specified key to dictionary.
+
+ The added key.
+ The added value.
+
+
+
+ Checks whether the dictionary contains the specified key.
+
+ The key to check for presence.
+ true if the dictionary contains the provided key, false - otherwise.
+
+
+
+ Removes the value corresponding to the specified key from dictionary.
+
+ The key to remove.
+ true if the item was removed, false - otherwise.
+
+
+
+ Tries to get the value associated with the specified key.
+
+ The key.
+ Contains the returned value on success.
+ true if the value was returned successfuly, false - otherwise.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the collection of the keys present in dictionary.
+
+
+
+
+ Gets the collection of the values present in dictionary.
+
+
+
+
+ Gets the cound of items present in dictionary.
+
+
+
+
+ Is raised when a new item is added to the dictionary.
+
+
+
+
+ Is raised when an item is removed from the dictionary.
+
+
+
+
+ Gets or sets a value associated with the specified key.
+
+ The key.
+ The associated value.
+
+
+
+
+
+
+ Event arguments for the and events.
+
+ The dictionary key type.
+ The dictionary value type.
+
+
+
+ Initializes a new instance of the class from the provided .
+
+ The that contains the event arguments.
+
+
+
+ Initializes a new instance of the class from the provided key and value.
+
+ The event's key argument.
+ The event's value argument.
+
+
+
+ Gets the event's key argument.
+
+
+
+
+ Gets the event's value argument.
+
+
+
+
+ A generic collection for effect framework.
+
+ Type of the collection
+
+
+
+ Adds the specified item.
+
+ The item.
+
+
+
+ Determines whether this collection contains an element with the specified name.
+
+ The name.
+ true if [contains] an element with the specified name; otherwise, false.
+
+
+
+ Gets the number of objects in the collection.
+
+
+
+ Gets a specific element in the collection by using an index value.
+ Index of the EffectTechnique to get.
+
+
+ Gets a specific element in the collection by using a name.
+ Name of the EffectTechnique to get.
+
+
+
+ Use to provide a debug view on a custom collection. Use this by adding
+ an attribute [DebuggerTypeProxy(typeof(CollectionDebugView))] to your custom collection.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The collection.
+ collection
+
+
+
+ Gets the items.
+
+ The items.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The collection.
+ collection
+
+
+
+ Gets the items.
+
+ The items.
+
+
+
+ Represents a 3x3 Matrix ( contains only Scale and Rotation ).
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 1 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 1 column 3 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 3 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 3 of the Matrix3x3.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the Matrix3x3.
+ The value to assign at row 1 column 2 of the Matrix3x3.
+ The value to assign at row 1 column 3 of the Matrix3x3.
+ The value to assign at row 2 column 1 of the Matrix3x3.
+ The value to assign at row 2 column 2 of the Matrix3x3.
+ The value to assign at row 2 column 3 of the Matrix3x3.
+ The value to assign at row 3 column 1 of the Matrix3x3.
+ The value to assign at row 3 column 2 of the Matrix3x3.
+ The value to assign at row 3 column 3 of the Matrix3x3.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the Matrix3x3. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Calculates the determinant of the Matrix3x3.
+
+ The determinant of the Matrix3x3.
+
+
+
+ Inverts the Matrix3x3.
+
+
+
+
+ Transposes the Matrix3x3.
+
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Decomposes a Matrix3x3 into an orthonormalized Matrix3x3 Q and a right triangular Matrix3x3 R.
+
+ When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
+ When the method completes, contains the right triangular Matrix3x3 of the decomposition.
+
+
+
+ Decomposes a Matrix3x3 into a lower triangular Matrix3x3 L and an orthonormalized Matrix3x3 Q.
+
+ When the method completes, contains the lower triangular Matrix3x3 of the decomposition.
+ When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
+
+
+
+ Decomposes a Matrix3x3 into a scale, rotation, and translation.
+
+ When the method completes, contains the scaling component of the decomposed Matrix3x3.
+ When the method completes, contains the rotation component of the decomposed Matrix3x3.
+
+ This method is designed to decompose an SRT transformation Matrix3x3 only.
+
+
+
+
+ Decomposes a uniform scale matrix into a scale, rotation, and translation.
+ A uniform scale matrix has the same scale in every axis.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+
+ This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
+
+
+
+
+ Exchanges two rows in the Matrix3x3.
+
+ The first row to exchange. This is an index of the row starting at zero.
+ The second row to exchange. This is an index of the row starting at zero.
+
+
+
+ Exchanges two columns in the Matrix3x3.
+
+ The first column to exchange. This is an index of the column starting at zero.
+ The second column to exchange. This is an index of the column starting at zero.
+
+
+
+ Creates an array containing the elements of the Matrix3x3.
+
+ A 9-element array containing the components of the Matrix3x3.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Determines the product of two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ The quotient of the two matrices.
+
+
+
+ Performs the exponential operation on a Matrix3x3.
+
+ The Matrix3x3 to perform the operation on.
+ The exponent to raise the Matrix3x3 to.
+ When the method completes, contains the exponential Matrix3x3.
+ Thrown when the is negative.
+
+
+
+ Performs the exponential operation on a Matrix3x3.
+
+ The Matrix3x3 to perform the operation on.
+ The exponent to raise the Matrix3x3 to.
+ The exponential Matrix3x3.
+ Thrown when the is negative.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to be negated.
+ When the method completes, contains the negated Matrix3x3.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to be negated.
+ The negated Matrix3x3.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified Matrix3x3.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified Matrix3x3.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ The transpose of the specified Matrix3x3.
+
+
+
+ Calculates the inverse of the specified Matrix3x3.
+
+ The Matrix3x3 whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified Matrix3x3.
+
+
+
+ Calculates the inverse of the specified Matrix3x3.
+
+ The Matrix3x3 whose inverse is to be calculated.
+ The inverse of the specified Matrix3x3.
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthogonalize.
+ When the method completes, contains the orthogonalized Matrix3x3.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthogonalize.
+ The orthogonalized Matrix3x3.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthonormalize.
+ When the method completes, contains the orthonormalized Matrix3x3.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthonormalize.
+ The orthonormalized Matrix3x3.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Brings the Matrix3x3 into upper triangular form using elementary row operations.
+
+ The Matrix3x3 to put into upper triangular form.
+ When the method completes, contains the upper triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into upper triangular form using elementary row operations.
+
+ The Matrix3x3 to put into upper triangular form.
+ The upper triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into lower triangular form using elementary row operations.
+
+ The Matrix3x3 to put into lower triangular form.
+ When the method completes, contains the lower triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into lower triangular form using elementary row operations.
+
+ The Matrix3x3 to put into lower triangular form.
+ The lower triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into row echelon form using elementary row operations;
+
+ The Matrix3x3 to put into row echelon form.
+ When the method completes, contains the row echelon form of the Matrix3x3.
+
+
+
+ Brings the Matrix3x3 into row echelon form using elementary row operations;
+
+ The Matrix3x3 to put into row echelon form.
+ When the method completes, contains the row echelon form of the Matrix3x3.
+
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard Matrix3x3.
+
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard Matrix3x3.
+
+
+
+ Creates a left-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at Matrix3x3.
+
+
+
+ Creates a left-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at Matrix3x3.
+
+
+
+ Creates a right-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at Matrix3x3.
+
+
+
+ Creates a right-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at Matrix3x3.
+
+
+
+ Builds a Matrix3x3 that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ When the method completes, contains the reflection Matrix3x3.
+
+
+
+ Builds a Matrix3x3 that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ The reflection Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ When the method completes, contains the shadow Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ The shadow Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 from a quaternion.
+
+ The quaternion to use to build the Matrix3x3.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 from a quaternion.
+
+ The quaternion to use to build the Matrix3x3.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ The created rotation Matrix3x3.
+
+
+
+ Adds two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ The sum of the two matrices.
+
+
+
+ Assert a Matrix3x3 (return it unchanged).
+
+ The Matrix3x3 to assert (unchanged).
+ The asserted (unchanged) Matrix3x3.
+
+
+
+ Subtracts two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to negate.
+ The negated Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Multiplies two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Divides two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Convert the 3x3 Matrix to a 4x4 Matrix.
+
+ A 4x4 Matrix with zero translation and M44=1
+
+
+
+ Convert the 4x4 Matrix to a 3x3 Matrix.
+
+ A 3x3 Matrix
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified are equal.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets or sets the first row in the Matrix3x3; that is M11, M12, M13
+
+
+
+
+ Gets or sets the second row in the Matrix3x3; that is M21, M22, M23
+
+
+
+
+ Gets or sets the third row in the Matrix3x3; that is M31, M32, M33
+
+
+
+
+ Gets or sets the first column in the Matrix3x3; that is M11, M21, M31
+
+
+
+
+ Gets or sets the second column in the Matrix3x3; that is M12, M22, M32
+
+
+
+
+ Gets or sets the third column in the Matrix3x3; that is M13, M23, M33
+
+
+
+
+ Gets or sets the scale of the Matrix3x3; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity Matrix3x3.
+
+
+ true if this instance is an identity Matrix3x3; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix3x3 component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix3x3 component, depending on the index.
+ The row of the Matrix3x3 to access.
+ The column of the Matrix3x3 to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Internal class used to initialize this assembly.
+
+
+
+
+ Initializes this assembly.
+
+
+ This method is called when the assembly is loaded.
+
+
+
+
+ OrientedBoundingBox (OBB) is a rectangular block, much like an AABB (BoundingBox) but with an arbitrary orientation.
+
+
+
+
+ Half lengths of the box along each axis.
+
+
+
+
+ The matrix which aligns and scales the box, and its translation vector represents the center of the box.
+
+
+
+
+ Creates an from a BoundingBox.
+
+ The BoundingBox to create from.
+
+ Initially, the OBB is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Creates an which contained between two minimum and maximum points.
+
+ The minimum vertex of the bounding box.
+ The maximum vertex of the bounding box.
+
+ Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Creates an that fully contains the given points.
+
+ The points that will be contained by the box.
+
+ This method is not for computing the best tight-fitting OrientedBoundingBox.
+ And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Transforms this box using a transformation matrix.
+
+ The transformation matrix.
+
+ While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
+ scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
+
+
+
+
+ Transforms this box using a transformation matrix.
+
+ The transformation matrix.
+
+ While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
+ scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Translates the to a new position using a translation vector;
+
+ the translation vector.
+
+
+
+ Translates the to a new position using a translation vector;
+
+ the translation vector.
+
+
+
+ Returns the size of the taking into consideration the scaling applied to the transformation matrix.
+
+ The size of the consideration
+
+ This method is computationally expensive, so if no scale is applied to the transformation matrix
+ use property instead.
+
+
+
+
+ Returns the square size of the taking into consideration the scaling applied to the transformation matrix.
+
+ The size of the consideration
+
+
+
+ Determines whether a contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains an array of points>.
+
+ The points array to test.
+ The type of containment.
+
+
+
+ Determines whether a contains a .
+
+ The sphere to test.
+ Optimize the check operation by assuming that has no scaling applied
+ The type of containment the two objects have.
+
+ This method is not designed for which has a non-uniform scaling applied to its transformation matrix.
+ But any type of scaling applied using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between two
+
+ The OrientedBoundingBoxs to test.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for both must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between an and a line defined by two points
+
+ The first point in the line.
+ The second point in the line.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for the must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between an and
+
+ The BoundingBox to test.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for the must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Get the axis-aligned which contains all corners.
+
+ The axis-aligned BoundingBox of this OrientedBoundingBox.
+
+
+
+ Calculates the matrix required to transfer any point from one local coordinates to another.
+
+ The source OrientedBoundingBox.
+ The target OrientedBoundingBox.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+
+ Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A orientation.
+
+ The to merge into it.
+ The to be merged
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+ Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B into it.
+
+
+
+
+ Merge this OrientedBoundingBox into another OrientedBoundingBox, keeping the other OrientedBoundingBox orientation.
+
+ The other to merge into.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+ Merge another OrientedBoundingBox into this OrientedBoundingBox.
+
+ The other to merge into this OrientedBoundingBox.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+
+
+
+ The size of the if no scaling is applied to the transformation matrix.
+
+
+ The property will return the actual size even if the scaling is applied using Scale method,
+ but if the scaling is applied to transformation matrix, use GetSize Function instead.
+
+
+
+
+ Returns the center of the .
+
+
+
+
+ Random functions on commun types.
+
+
+
+
+ Gets random float number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random float number.
+
+
+
+ Gets random double number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random double number.
+
+
+
+ Gets random long number.
+
+ Current .
+ Random long number.
+
+
+
+ Gets random long number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random long number.
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random opaque .
+
+ Current .
+ Random .
+
+
+
+ Gets random opaque .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Alpha value.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Minimum alpha.
+ Maximum alpha.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Instructs obfuscation tools to use their standard obfuscation rules for the appropriate assembly type.
+
+
+
+
+ Initializes a new instance of the class,
+ specifying whether the assembly to be obfuscated is public or priyvate.
+
+ true if the assembly is used within the scope of one application; otherwise, false.
+
+
+
+ Gets a value indicating whether the assembly was marked private.
+
+
+ true if the assembly was marked private; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should remove the attribute after processing.
+
+
+ true if the obfuscation tool should remove the attribute after processing; otherwise, false.
+ The default value for this property is true.
+
+
+
+
+ Instructs obfuscation tools to take the specified actions for an assembly, type, or member.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value indicating whether the attribute of a type is to apply to the members of the type.
+
+
+ true if the attribute is to apply to the members of the type; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should exclude the type or member from obfuscation.
+
+
+ true if the type or member to which this attribute is applied should be excluded from obfuscation; otherwise, false.
+ The default is true.
+
+
+
+
+ Gets or sets a string value that is recognized by the obfuscation tool, and which specifies processing options.
+
+
+ A string value that is recognized by the obfuscation tool, and which specifies processing options. The default is "all".
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should remove the attribute after processing.
+
+
+ true if the obfuscation tool should remove the attribute after processing; otherwise, false.
+ The default value for this property is true.
+
+
+
+
+ Task utility for threading.
+
+
+
+
+ Runs the specified action in a thread.
+
+ The action.
+ Name of the task.
+
+
+
+ Defines the viewport dimensions using float coordinates for (X,Y,Width,Height).
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Width dimension of the viewport.
+
+
+
+
+ Height dimension of the viewport.
+
+
+
+
+ Gets or sets the minimum depth of the clip volume.
+
+
+
+
+ Gets or sets the maximum depth of the clip volume.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+ The minimum depth of the clip volume.
+ The maximum depth of the clip volume.
+
+
+
+ Initializes a new instance of the struct.
+
+ A bounding box that defines the location and size of the viewport in a render target.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified object is equal to this instance.
+
+ The object to compare with this instance.
+
+ true if the specified object is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Retrieves a string representation of this object.
+
+ A that represents this instance.
+
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ A combined WorldViewProjection matrix.
+ The projected vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ The projection matrix.
+ The view matrix.
+ The world matrix.
+ The unprojected Vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ An inverted combined WorldViewProjection matrix.
+ The unprojected vector.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Gets the size of this resource.
+
+ The bounds.
+
+
+
+ Gets the aspect ratio used by the viewport.
+
+ The aspect ratio.
+
+
+
+ A fast method to pass array of to SharpDX methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The array.
+
+
+
+ Initializes a new instance of the class.
+
+ The size.
+
+
+
+ Gets an object at the specified index.
+
+ The index.
+ A
+
+
+
+ Sets an object at the specified index.
+
+ The index.
+ The value.
+
+
+
+
+
+
+ Gets the pointer to the native array associated to this instance.
+
+
+
+
+ Gets the length.
+
+
+
+
+ A typed version of
+
+ Type of the
+
+
+
+ Initializes a new instance of the class.
+
+ The array.
+
+
+
+ Initializes a new instance of the class.
+
+ The size.
+
+
+
+ Gets or sets the with the specified i.
+
+
+
+
+ Generic class to hold a shader compilation results.
+
+ Type of the class containing the generated bytecode.
+
+
+
+ Initializes a new instance of the class.
+
+ The bytecode.
+ Result code from compilation.
+ The message.
+
+
+
+
+
+
+ Gets the Shader bytecode.
+
+
+
+
+ Gets the result code from the compilation.
+
+
+
+
+ Gets a value indicating whether this instance has errors.
+
+
+ true if this instance has errors; otherwise, false.
+
+
+
+
+ Gets the message.
+
+
+ Message are warning or error messages.
+
+
+
+
+ Represents a four dimensional mathematical vector of bool (32 bits per bool value).
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to false.
+
+
+
+
+ The X unit (true, 0, 0, 0).
+
+
+
+
+ The Y unit (0, true, 0, 0).
+
+
+
+
+ The Z unit (0, 0, true, 0).
+
+
+
+
+ The W unit (0, 0, 0, true).
+
+
+
+
+ A with all of its components set to true.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The assembly is the core assembly providing infrastructure for all managed DirectX API.
+
+
+
+
+ Represents a 32-bit color (4 bytes) in the form of RGBA (in byte order: R, G, B, A).
+
+
+ List of predefined .
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct. Passed values are clamped within byte range.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255. Passed values are clamped within byte range.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red, green, and blue components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the alpha, red, green, and blue components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a three component color.
+
+ A three component color containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color in RGBA order.
+
+
+
+ Gets the brightness.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the hue.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the saturation.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed ABGR integer.
+
+ A packed integer containing all four color components in ABGR order
+ A color.
+
+
+
+ Converts the color from a packed ABGR integer.
+
+ A packed integer containing all four color components in ABGR order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Convert this instance to a
+
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (byte).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (byte).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Zero color.
+
+
+
+
+ Transparent color.
+
+
+
+
+ AliceBlue color.
+
+
+
+
+ AntiqueWhite color.
+
+
+
+
+ Aqua color.
+
+
+
+
+ Aquamarine color.
+
+
+
+
+ Azure color.
+
+
+
+
+ Beige color.
+
+
+
+
+ Bisque color.
+
+
+
+
+ Black color.
+
+
+
+
+ BlanchedAlmond color.
+
+
+
+
+ Blue color.
+
+
+
+
+ BlueViolet color.
+
+
+
+
+ Brown color.
+
+
+
+
+ BurlyWood color.
+
+
+
+
+ CadetBlue color.
+
+
+
+
+ Chartreuse color.
+
+
+
+
+ Chocolate color.
+
+
+
+
+ Coral color.
+
+
+
+
+ CornflowerBlue color.
+
+
+
+
+ Cornsilk color.
+
+
+
+
+ Crimson color.
+
+
+
+
+ Cyan color.
+
+
+
+
+ DarkBlue color.
+
+
+
+
+ DarkCyan color.
+
+
+
+
+ DarkGoldenrod color.
+
+
+
+
+ DarkGray color.
+
+
+
+
+ DarkGreen color.
+
+
+
+
+ DarkKhaki color.
+
+
+
+
+ DarkMagenta color.
+
+
+
+
+ DarkOliveGreen color.
+
+
+
+
+ DarkOrange color.
+
+
+
+
+ DarkOrchid color.
+
+
+
+
+ DarkRed color.
+
+
+
+
+ DarkSalmon color.
+
+
+
+
+ DarkSeaGreen color.
+
+
+
+
+ DarkSlateBlue color.
+
+
+
+
+ DarkSlateGray color.
+
+
+
+
+ DarkTurquoise color.
+
+
+
+
+ DarkViolet color.
+
+
+
+
+ DeepPink color.
+
+
+
+
+ DeepSkyBlue color.
+
+
+
+
+ DimGray color.
+
+
+
+
+ DodgerBlue color.
+
+
+
+
+ Firebrick color.
+
+
+
+
+ FloralWhite color.
+
+
+
+
+ ForestGreen color.
+
+
+
+
+ Fuchsia color.
+
+
+
+
+ Gainsboro color.
+
+
+
+
+ GhostWhite color.
+
+
+
+
+ Gold color.
+
+
+
+
+ Goldenrod color.
+
+
+
+
+ Gray color.
+
+
+
+
+ Green color.
+
+
+
+
+ GreenYellow color.
+
+
+
+
+ Honeydew color.
+
+
+
+
+ HotPink color.
+
+
+
+
+ IndianRed color.
+
+
+
+
+ Indigo color.
+
+
+
+
+ Ivory color.
+
+
+
+
+ Khaki color.
+
+
+
+
+ Lavender color.
+
+
+
+
+ LavenderBlush color.
+
+
+
+
+ LawnGreen color.
+
+
+
+
+ LemonChiffon color.
+
+
+
+
+ LightBlue color.
+
+
+
+
+ LightCoral color.
+
+
+
+
+ LightCyan color.
+
+
+
+
+ LightGoldenrodYellow color.
+
+
+
+
+ LightGray color.
+
+
+
+
+ LightGreen color.
+
+
+
+
+ LightPink color.
+
+
+
+
+ LightSalmon color.
+
+
+
+
+ LightSeaGreen color.
+
+
+
+
+ LightSkyBlue color.
+
+
+
+
+ LightSlateGray color.
+
+
+
+
+ LightSteelBlue color.
+
+
+
+
+ LightYellow color.
+
+
+
+
+ Lime color.
+
+
+
+
+ LimeGreen color.
+
+
+
+
+ Linen color.
+
+
+
+
+ Magenta color.
+
+
+
+
+ Maroon color.
+
+
+
+
+ MediumAquamarine color.
+
+
+
+
+ MediumBlue color.
+
+
+
+
+ MediumOrchid color.
+
+
+
+
+ MediumPurple color.
+
+
+
+
+ MediumSeaGreen color.
+
+
+
+
+ MediumSlateBlue color.
+
+
+
+
+ MediumSpringGreen color.
+
+
+
+
+ MediumTurquoise color.
+
+
+
+
+ MediumVioletRed color.
+
+
+
+
+ MidnightBlue color.
+
+
+
+
+ MintCream color.
+
+
+
+
+ MistyRose color.
+
+
+
+
+ Moccasin color.
+
+
+
+
+ NavajoWhite color.
+
+
+
+
+ Navy color.
+
+
+
+
+ OldLace color.
+
+
+
+
+ Olive color.
+
+
+
+
+ OliveDrab color.
+
+
+
+
+ Orange color.
+
+
+
+
+ OrangeRed color.
+
+
+
+
+ Orchid color.
+
+
+
+
+ PaleGoldenrod color.
+
+
+
+
+ PaleGreen color.
+
+
+
+
+ PaleTurquoise color.
+
+
+
+
+ PaleVioletRed color.
+
+
+
+
+ PapayaWhip color.
+
+
+
+
+ PeachPuff color.
+
+
+
+
+ Peru color.
+
+
+
+
+ Pink color.
+
+
+
+
+ Plum color.
+
+
+
+
+ PowderBlue color.
+
+
+
+
+ Purple color.
+
+
+
+
+ Red color.
+
+
+
+
+ RosyBrown color.
+
+
+
+
+ RoyalBlue color.
+
+
+
+
+ SaddleBrown color.
+
+
+
+
+ Salmon color.
+
+
+
+
+ SandyBrown color.
+
+
+
+
+ SeaGreen color.
+
+
+
+
+ SeaShell color.
+
+
+
+
+ Sienna color.
+
+
+
+
+ Silver color.
+
+
+
+
+ SkyBlue color.
+
+
+
+
+ SlateBlue color.
+
+
+
+
+ SlateGray color.
+
+
+
+
+ Snow color.
+
+
+
+
+ SpringGreen color.
+
+
+
+
+ SteelBlue color.
+
+
+
+
+ Tan color.
+
+
+
+
+ Teal color.
+
+
+
+
+ Thistle color.
+
+
+
+
+ Tomato color.
+
+
+
+
+ Turquoise color.
+
+
+
+
+ Violet color.
+
+
+
+
+ Wheat color.
+
+
+
+
+ White color.
+
+
+
+
+ WhiteSmoke color.
+
+
+
+
+ Yellow color.
+
+
+
+
+ YellowGreen color.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the alpha, red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a 32-bit color (4 bytes) in the form of BGRA (in byte order: B, G, B, A).
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in BGRA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in BGRA.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a three component color.
+
+ A three component color containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color in BGRA order.
+
+
+
+ Gets the brightness.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the hue.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the saturation.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed RGBA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Converts the color from a packed RGBA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colorss.
+
+
+
+ Returns a color containing the largest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchange).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (byte).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (byte).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the alpha, red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Base interface for a component base.
+
+
+
+
+ Gets the name of this component.
+
+ The name.
+
+
+
+ A service registry is a that provides methods to register and unregister services.
+
+
+
+
+ Gets the service object of specified type. The service must be registered with the type key.
+
+ This method will thrown an exception if the service is not registered, it null value can be accepted - use the method.
+ The type of the service to get.
+ The service instance.
+ Is thrown when the corresponding service is not registered.
+
+
+
+ Adds a service to this service provider.
+
+ The type of service to add.
+ The instance of the service provider to add.
+ Service type cannot be null
+ Service is already registered
+
+
+
+ Adds a service to this service provider.
+
+ The type of the service to add.
+ The instance of the service provider to add.
+ Service type cannot be null
+ Service is already registered
+
+
+
+ Removes the object providing a specified service.
+
+ The type of service.
+
+
+
+ Occurs when a new service is added.
+
+
+
+
+ Occurs when when a service is removed.
+
+
+
+
+ Path utility methods.
+
+
+
+
+ Transform a path by replacing '/' by '\' and transforming relative '..' or current path '.' to an absolute path. See remarks.
+
+ A path string
+ A normalized path.
+
+ Unlike , this doesn't make a path absolute to the actual file system.
+
+
+
+
+ IInspectable used for a C# callback object exposed as WinRT Component.
+
+ br205821
+ IInspectable
+ IInspectable
+
+
+
+ Internal IInspectable Callback
+
+
+
+
+ A COM Interface Callback
+
+
+
+
+ An Interface shadow callback
+
+
+
+
+ Root class for all Cpp interop object.
+
+
+
+
+ The native pointer
+
+
+
+
+ Default constructor.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The CPP object.
+
+ The result of the conversion.
+
+
+
+
+ Initializes this instance with a pointer from a temporary object and set the pointer of the temporary
+ object to IntPtr.Zero.
+
+ The instance to get the NativePointer.
+
+
+
+ Initializes this instance with a pointer from a temporary object and set the pointer of the temporary
+ object to IntPtr.Zero.
+
+ The instance to get the NativePointer.
+
+
+
+ Method called when is going to be update.
+
+
+
+
+ Method called when the is updated.
+
+
+
+
+ Instantiate a ComObject from a native pointer.
+
+ The ComObject class that will be returned
+ The native pointer to a com object.
+ An instance of T binded to the native pointer
+
+
+
+ Return the unmanaged C++ pointer from a instance.
+
+ The type of the callback.
+ The callback.
+ A pointer to the unmanaged C++ object of the callback
+
+
+
+ Gets or sets a custom user tag object to associate with this instance..
+
+ The tag object.
+
+
+
+ Get a pointer to the underlying Cpp Object
+
+
+
+
+ Initializes the specified shadow instance from a vtbl and a callback.
+
+ The callback.
+
+
+
+ Gets the callback.
+
+
+
+
+ Gets the VTBL associated with this shadow instance.
+
+
+
+
+ Default Constructor.
+
+ number of methods to allocate in the VTBL
+
+
+
+ Add a method supported by this interface. This method is typically called from inherited constructor.
+
+ the managed delegate method
+
+
+
+ Gets the pointer to the vtbl.
+
+
+
+
+ Return a pointer to the unmanaged version of this callback.
+
+ The callback.
+ A pointer to a shadow c++ callback
+
+
+ * [out] */ __RPC__out ULONG *iidCount,
+ * [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids) = 0;
+
+
+ HRESULT ID2D1InspectableProvider::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo)
+
+
+
+ Specify the size used for encoding length for array while using a , just before an array is encoded.
+
+
+
+
+ Use variable length 7Bit Encoding that will output from 1 byte to 5 byte depending on the range of length value.
+
+
+
+
+ Output a length as a byte. The length must not be greater than 255.
+
+
+
+
+ Output a length as an ushort. The length must not be greater than 65535.
+
+
+
+
+ Output a length as an int. The length must not be greater than 2^31 - 1.
+
+
+
+
+ The namespace contains a serialization API.
+
+
+
+
+ Flags used when serializing a value with a .
+
+
+
+
+ Normal serialize (not dynamic, not nullable).
+
+
+
+
+ Serialize a value as a dynamic value (the output stream will contain a magic-code for each encoded object).
+
+
+
+
+ Serialize a value that can be null.
+
+
+
+
+ A singleton string is a string that has a unique instance in memory, See remarks for usage scenarios.
+
+
+ This class should mostly be used internally for performance reasons, in scenarios where equals/hashcode
+ could be invoked frequently, and the set of strings is limited. Internally,
+ string is using the method and also is precaching the hashcode of the string.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The text.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ A lightweight Component base class.
+
+
+
+
+ Occurs while this component is disposing and before it is disposed.
+
+
+
+
+ Gets or sets a value indicating whether the name of this instance is immutable.
+
+ true if this instance is name immutable; otherwise, false.
+
+
+
+ Initializes a new instance of the class with a mutable name.
+
+
+
+
+ Initializes a new instance of the class with an immutable name.
+
+ The name.
+
+
+
+ Gets the name of this component.
+
+ The name.
+
+
+
+ Gets or sets the tag associated to this object.
+
+ The tag.
+
+
+
+ Occurs when a property value changes.
+
+
+
+
+ Pointer to a native buffer with a specific size.
+
+
+
+
+ Gets an Empty Data Pointer.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The pointer.
+ The size.
+
+
+
+ Initializes a new instance of the struct.
+
+ The pointer.
+ The size.
+
+
+
+ Pointer to the buffer.
+
+
+
+
+ Size in bytes of the buffer.
+
+
+
+
+ Implements the ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Gets a value indicating whether this instance is empty (zeroed).
+
+ true if this instance is empty; otherwise, false.
+
+
+
+ The namespace contains classes to help to diagnostic of COM object lifecycles Dispose and Release methods.
+
+
+
+
+ The namespace contains enumerations and structures shared by , and assemblies.
+
+
+
+
+ A class to dispose instances and allocated unmanaged memory.
+
+
+
+
+ Disposes all object collected by this class and clear the list. The collector can still be used for collecting.
+
+
+ To completely dispose this instance and avoid further dispose, use method instead.
+
+
+
+
+ Disposes of object resources.
+
+ If true, managed resources should be
+ disposed of in addition to unmanaged resources.
+
+
+
+ Adds a object or a allocated using to the list of the objects to dispose.
+
+ To dispose.
+ If toDispose argument is not IDisposable or a valid memory pointer allocated by
+
+
+
+ Dispose a disposable object and set the reference to null. Removes this object from this instance..
+
+ Object to dispose.
+
+
+
+ Removes a disposable object to the list of the objects to dispose.
+
+
+ To dispose.
+
+
+
+ Gets the number of elements to dispose.
+
+ The number of elements to dispose.
+
+
+
+ Frustum camera parameters.
+
+
+
+
+ Position of the camera.
+
+
+
+
+ Looking at direction of the camera.
+
+
+
+
+ Up direction.
+
+
+
+
+ Field of view.
+
+
+
+
+ Z near distance.
+
+
+
+
+ Z far distance.
+
+
+
+
+ Aspect ratio.
+
+
+
+
+ Equality comparer using the identify of the object.
+
+ Type of the parameter
+
+ From http://stackoverflow.com/questions/8946790/how-to-use-an-objects-identity-as-key-for-dictionaryk-v.
+
+
+
+
+ Represents a three dimensional mathematical int vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0).
+
+
+
+
+ The Z unit (0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ When the method completes, contains the modulated vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ The modulated vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The namespace contains helper classes in replacement of some classes in useful under Windows 8 Metro.
+
+
+
+
+ This enumeration defines constants that indicate the role that the system has assigned to an audio endpoint device.
+
+ dd370842
+ ERole
+ ERole
+
+
+
+ Games, system notification sounds, and voice commands
+
+
+
+
+ Music, movies, narration, and live music recording.
+
+
+
+
+ Voice communications (talking to another person).
+
+
+
+
+ The namespace contains common structures and helper classes for audio/video processing.
+
+
+
+
+ Use this attribute to specify the id of a dynamic type with .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id to register as a dynamic type.
+
+
+
+ Initializes a new instance of the class.
+
+ The id to register as a dynamic type.
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Exceptions thrown when an invalid chunk is decoded.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The chunk id.
+ The expected chunk id.
+
+
+
+ Gets the chunk id.
+
+ The chunk id.
+
+
+
+ Gets the expected chunk id.
+
+ The expected chunk id.
+
+
+
+ Serializer action.
+
+ The value to read or write.
+ The serializer.
+
+
+
+ This class provides serialization methods for types implementing the .
+
+
+ BinarySerializer is a basic binary serializer with the following features:
+
+
10x times faster and smaller than default System Serialization and Xml Serialization.
+
Supports for all primitive types, array/List<T>/Dictionary of primitive types, custom data via (struct or class) and array/List/Dictionary of custom data.
+
Optimized binary format, data serialized to the strict minimum.
+
Should be compatible with Win8/WinRT, Desktop.
+
Not reflection based serializer, but fully compile time serializer.
+
Format could be read back from C/C++.
+
+
+
+
+
+
+ A disposable component base class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with an immutable name.
+
+ The name.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+
+
+
+ Disposes of object resources.
+
+ If true, managed resources should be
+ disposed of in addition to unmanaged resources.
+
+
+
+ Adds a disposable object to the list of the objects to dispose.
+
+ To dispose.
+
+
+
+ Dispose a disposable object and set the reference to null. Removes this object from the ToDispose list.
+
+ Object to dispose.
+
+
+
+ Removes a disposable object to the list of the objects to dispose.
+
+
+ To dispose.
+
+
+
+ Gets or sets the disposables.
+
+ The disposables.
+
+
+
+ Gets or sets a value indicating whether this instance is attached to a collector.
+
+
+ true if this instance is attached to a collector; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+ true if this instance is disposed; otherwise, false.
+
+
+
+
+ Occurs when when Dispose is called.
+
+
+
+
+ Gets the reader and throws an exception if this serializer is in Write mode.
+
+ The context object that requires a Reader.
+ A BinaryReader.
+ context
+ If this reader is not in read mode
+
+
+
+ Initializes a new instance of the class.
+
+ The stream to read or write to.
+ The read or write mode.
+
+
+
+ Initializes a new instance of the class.
+
+ The stream to read or write to.
+ The read or write mode.
+ Default encoding used for strings. This parameter can be overriden later using Encoding property.
+
+
+
+ Gets a tag value with the specified key.
+
+ The tag key.
+ A tag value associated to a key
+
+
+
+ Determines whether a tag with a specified key is already stored.
+
+ The key.
+ true if a tag with a specified key is already stored; otherwise, false.
+
+
+
+ Removes a tag with the specified key.
+
+ The key.
+
+
+
+ Sets a tag value with the specified key.
+
+ The key.
+ The value.
+
+
+
+
+ Register a dynamic serializer for a particular type implementing the interface and having the .
+
+ Type of the element to serialize.
+
+
+
+ Register a dynamic serializer for a particular type implementing the interface.
+
+ Type of the element to serialize.
+ The id to use for serializing T.
+
+
+
+ Register a dynamic array serializer for a particular type implementing the interface.
+
+ Type of the element in the array.
+ The id to use for serializing T[].
+
+
+
+ Register a dynamic List<T> serializer for a particular type implementing the interface.
+
+ Type of the element in the List<T>.
+ The id to use for serializing List<T>.
+
+
+
+ Register a dynamic serializer using an external action.
+
+ Type of the element to serialize.
+ The id to use for serializing T.
+ The serializer.
+
+
+
+ Begin to serialize a a new chunk.
+
+ The chunk id.
+ If the chuck to read is not the expecting chunk.
+
+ A Chunk is an identifiable portion of data that will serialized. Chunk are useful to encapsulate a variable
+ data (and check for the presence of the chunk Id). Chunk are storing a 4 bytes identifier and the length of
+ the chunk before reading/writing actual data.
+
+
+
+
+ Ends a chunk.
+
+ If there EndChunk is called without a previous BeginChunk.
+ If the size of data read from the chunk is different from chunk size.
+
+
+
+ Deserialize a data from the underlying stream.
+
+ Type of the data to load.
+ An instance of the loaded data.
+
+
+
+ Serializes the specified value to the underlying stream.
+
+ Type of the data to save.
+ The value to save.
+
+
+
+ Flush the underlying
+
+
+
+
+ Serializes a dynamic value that can be nullable.
+
+ Known type of the value to serialize. The known type is not the runtime type that will be actually serialized.
+ The value to serialize based on its runtime type.
+
+
+
+ Serializes a dynamic value.
+
+ Known type of the value to serialize. The known type is not the runtime type that will be actually serialized.
+ The value to serialize based on its runtime type.
+ Type of serialization, see .
+
+
+
+ Serializes a static value implementing the interface.
+
+ Type of the data to serialize.
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a static value implementing the interface. Unlike ,
+ this method doesn't allocate a new instance when reading but use the reference value.
+
+ Type of the data to serialize.
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an enum value.
+
+ Type of the enum to serialize.
+ The value to serialize
+ If type T is not an enum.
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of primitives using serialization methods implemented by this instance for each item in the array.
+
+ Type of the primitive data to serialize.
+ An array of primitive value to serialize
+ The serializer to user to serialize the T values.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements in an array of primitives using serialization methods implemented by this instance for each item in the array.
+
+ Type of the primitive data to serialize.
+ An array of primitive value to serialize
+ Count elements to serialize. See remarks.
+ The serializer to user to serialize the T values.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements in an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes an array of bytes.
+
+ An array of bytes to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of bytes.
+
+ An array of bytes to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a list of primitive values using a specific serializer method from this instance.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ A method of this instance to serialize the primitive T type
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements from a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes count elements from a list of primitive values using a specific serializer method from this instance.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ A method of this instance to serialize the primitive T type
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes a dictionary of key/values that are both implementing the interface.
+
+ Type of key to serialize.
+ Type of value to serialize.
+ A dictionary to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of key to serialize that is implementing the interface.
+ Type of primitive value with its associated serializer.
+ A dictionary to serialize
+ Serializer used for the TValue.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of primitive value with its associated serializer.
+ Type of value to serialize that is implementing the interface.
+ A dictionary to serialize
+ Serializer used for the TKey.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of primitive key with its associated serializer.
+ Type of primitive value with its associated serializer.
+ A dictionary to serialize
+ Serializer used for the TKey.
+ Serializer used for the TValue.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+ Write a null byte at the end of the string.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single fixed length string value.
+
+ The value to serialize
+ Read/write a specific number of characters.
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single boolean value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single byte value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single sbyte value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single short value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single ushort value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single int value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single int as a packed value (from 1 byte to 5 byte. if value < 128, then 1 byte...etc.)
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a memory region.
+
+ The pointer to an unmanaged memory region. For read operation, this pointer must be allocated by the caller.
+ If the end of stream was reached before reading all the bytes.
+ Note that depending on the serialization , this method reads or writes the value.
+ This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately.
+
+
+
+
+ Serializes a memory region.
+
+ The data pointer. For read operation, this pointer must be allocated by the caller.
+ The size in bytes. See remarks.
+ If the end of stream was reached before reading all the bytes.
+ Note that depending on the serialization , this method reads or writes the value.
+ This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately.
+
+
+
+
+ Serializes a single uint value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single long value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single ulong value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single char value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single float value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single double value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single DateTime value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single Guid value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Underlying stream this instance is reading/writing to.
+
+
+
+
+ Reader used to directly read from the underlying stream.
+
+
+
+
+ Writer used to directly write to the underlying stream.
+
+
+
+
+ Gets or sets the serialization mode.
+
+ The serialization mode.
+
+
+
+ Gets or sets the encoding used to serialized strings.
+
+ The encoding.
+ When setting a null encoding
+
+
+
+ Enables to serialize an object only once using object reference. Default is false.
+
+ true if [allow null]; otherwise, false.
+ If an invalid matching pair of true/false is detected.
+
+
+
+ Serialization mode used by .
+
+
+
+
+ Reads the data from the stream.
+
+
+
+
+ Writes the data to the stream.
+
+
+
+
+ Shadow attribute used to associate a COM callbackable interface to its Shadow implementation.
+
+
+
+
+ Initializes a new instance of class.
+
+ Type of the associated shadow
+
+
+
+ Get ShadowAttribute from type.
+
+ Type to get shadow attribute
+ The associated shadow attribute or null if no shadow attribute were found
+
+
+
+ Gets the value.
+
+
+
+
+ Represents a 4x4 mathematical Matrix5x4.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 4 of the Matrix5x4.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the Matrix5x4.
+ The value to assign at row 1 column 2 of the Matrix5x4.
+ The value to assign at row 1 column 3 of the Matrix5x4.
+ The value to assign at row 1 column 4 of the Matrix5x4.
+ The value to assign at row 2 column 1 of the Matrix5x4.
+ The value to assign at row 2 column 2 of the Matrix5x4.
+ The value to assign at row 2 column 3 of the Matrix5x4.
+ The value to assign at row 2 column 4 of the Matrix5x4.
+ The value to assign at row 3 column 1 of the Matrix5x4.
+ The value to assign at row 3 column 2 of the Matrix5x4.
+ The value to assign at row 3 column 3 of the Matrix5x4.
+ The value to assign at row 3 column 4 of the Matrix5x4.
+ The value to assign at row 4 column 1 of the Matrix5x4.
+ The value to assign at row 4 column 2 of the Matrix5x4.
+ The value to assign at row 4 column 3 of the Matrix5x4.
+ The value to assign at row 4 column 4 of the Matrix5x4.
+ The value to assign at row 5 column 1 of the Matrix5x4.
+ The value to assign at row 5 column 2 of the Matrix5x4.
+ The value to assign at row 5 column 3 of the Matrix5x4.
+ The value to assign at row 5 column 4 of the Matrix5x4.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the Matrix5x4. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a Matrix5x4 by the given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by the given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix5x4.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to be negated.
+ When the method completes, contains the negated Matrix5x4.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to be negated.
+ The negated Matrix5x4.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, y-axis and w-axis
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ Scaling factor that is applied along the w-axis.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ Scaling factor that is applied along the w-axis.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ The offset for all three coordinate planes.
+ When the method completes, contains the created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ The offset for all three coordinate planes.
+ The created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ W-coordinate offset.
+ When the method completes, contains the created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ W-coordinate offset.
+ The created translation Matrix5x4.
+
+
+
+ Adds two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ The sum of the two matrices.
+
+
+
+ Assert a Matrix5x4 (return it unchanged).
+
+ The Matrix5x4 to assert (unchanged).
+ The asserted (unchanged) Matrix5x4.
+
+
+
+ Subtracts two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to negate.
+ The negated Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the first row in the Matrix5x4; that is M11, M12, M13, and M14.
+
+
+
+
+ Gets or sets the second row in the Matrix5x4; that is M21, M22, M23, and M24.
+
+
+
+
+ Gets or sets the third row in the Matrix5x4; that is M31, M32, M33, and M34.
+
+
+
+
+ Gets or sets the fourth row in the Matrix5x4; that is M41, M42, M43, and M44.
+
+
+
+
+ Gets or sets the fifth row in the Matrix5x4; that is M51, M52, M53, and M54.
+
+
+
+
+ Gets or sets the translation of the Matrix5x4; that is M41, M42, and M43.
+
+
+
+
+ Gets or sets the scale of the Matrix5x4; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity Matrix5x4.
+
+
+ true if this instance is an identity Matrix5x4; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix5x4 component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix5x4 component, depending on the index.
+ The row of the Matrix5x4 to access.
+ The column of the Matrix5x4 to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Descriptor used to provide detailed message for a particular .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The HRESULT error code.
+ The module (ex: SharpDX.Direct2D1).
+ The API code (ex: D2D1_ERR_...).
+ The description of the result code if any.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Registers a provider.
+
+ Type of the descriptors provider.
+
+ Providers are usually registered at module init when SharpDX assemblies are loaded.
+
+
+
+
+ Finds the specified result descriptor.
+
+ The result code.
+ A descriptor for the specified result
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the HRESULT error code.
+
+ The HRESULT error code.
+
+
+
+ Gets the module (ex: SharpDX.Direct2D1)
+
+
+
+
+ Gets the native API code (ex: D2D1_ERR_ ...)
+
+
+
+
+ Gets the API code (ex: DemiceRemoved ...)
+
+
+
+
+ Gets the description of the result code if any.
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Width.
+
+
+
+
+ Height.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Width.
+
+
+
+
+ Height.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A point with (0,0) coordinates.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Left coordinate.
+
+
+
+
+ Top coordinate.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+
+
+
+ Windows File Helper.
+
+
+
+
+ Checks if the specified file path exists.
+
+ The file path.
+ true if the specified file path exists, false otherwise
+
+
+
+ Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
+
+ The file to open for reading.
+ A byte array containing the contents of the file.
+
+
+
+ Opens a text file, reads all lines of the file, and then closes the file.
+
+ The file to open for reading.
+ A string containing all lines of the file.
+
+
+
+ Opens a text file, reads all lines of the file, and then closes the file.
+
+ The file to open for reading.
+ The encoding.
+ The sharing.
+ A string containing all lines of the file.
+
+
+
+ Gets the size of the file.
+
+ The handle.
+ Size of the file.
+
+ GetFileSizeEx
+
+
+
+ Gets the last write time access for the specified path.
+
+ The path.
+ The last write time access
+
+
+
+ Windows File Helper.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The file mode.
+ The access mode.
+ The share mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads a block of bytes from the stream and writes the data in a given buffer.
+
+ When this method returns, contains the specified buffer with the values between offset and (offset + count - 1) replaced by the bytes read from the current source.
+ The byte offset in array at which the read bytes will be placed.
+ The maximum number of bytes to read.
+ array is null.
+ The total number of bytes read into the buffer. This might be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached.
+
+
+
+
+
+
+ Writes a block of bytes to this stream using data from a buffer.
+
+ The buffer containing data to write to the stream.
+ The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Native File access flags.
+
+
+
+
+ Read access.
+
+
+
+
+ Write access.
+
+
+
+
+ Read/Write Access,
+
+
+
+
+ Execute access.
+
+
+
+
+ All access
+
+
+
+
+ Native file attributes.
+
+
+
+
+ None attribute.
+
+
+
+
+ Read only attribute.
+
+
+
+
+ Hidden attribute.
+
+
+
+
+ System attribute.
+
+
+
+
+ Directory attribute.
+
+
+
+
+ Archive attribute.
+
+
+
+
+ Device attribute.
+
+
+
+
+ Normal attribute.
+
+
+
+
+ Temporary attribute.
+
+
+
+
+ Sparse file attribute.
+
+
+
+
+ ReparsePoint attribute.
+
+
+
+
+ Compressed attribute.
+
+
+
+
+ Offline attribute.
+
+
+
+
+ Not content indexed attribute.
+
+
+
+
+ Encrypted attribute.
+
+
+
+
+ Write through attribute.
+
+
+
+
+ Overlapped attribute.
+
+
+
+
+ No buffering attribute.
+
+
+
+
+ Random access attribute.
+
+
+
+
+ Sequential scan attribute.
+
+
+
+
+ Delete on close attribute.
+
+
+
+
+ Backup semantics attribute.
+
+
+
+
+ Post semantics attribute.
+
+
+
+
+ Open reparse point attribute.
+
+
+
+
+ Open no recall attribute.
+
+
+
+
+ First pipe instance attribute.
+
+
+
+
+ Native file creation disposition.
+
+
+
+
+ Creates a new file. The function fails if a specified file exists.
+
+
+
+
+ Creates a new file, always.
+ If a file exists, the function overwrites the file, clears the existing attributes, combines the specified file attributes,
+ and flags with FILE_ATTRIBUTE_ARCHIVE, but does not set the security descriptor that the SECURITY_ATTRIBUTES structure specifies.
+
+
+
+
+ Opens a file. The function fails if the file does not exist.
+
+
+
+
+ Opens a file, always.
+ If a file does not exist, the function creates a file as if dwCreationDisposition is CREATE_NEW.
+
+
+
+
+ Opens a file and truncates it so that its size is 0 (zero) bytes. The function fails if the file does not exist.
+ The calling process must open the file with the GENERIC_WRITE access right.
+
+
+
+
+ Native file share.
+
+
+
+
+ None flag.
+
+
+
+
+ Enables subsequent open operations on an object to request read access.
+ Otherwise, other processes cannot open the object if they request read access.
+ If this flag is not specified, but the object has been opened for read access, the function fails.
+
+
+
+
+ Enables subsequent open operations on an object to request write access.
+ Otherwise, other processes cannot open the object if they request write access.
+ If this flag is not specified, but the object has been opened for write access, the function fails.
+
+
+
+
+ Read and Write flags.
+
+
+
+
+ Enables subsequent open operations on an object to request delete access.
+ Otherwise, other processes cannot open the object if they request delete access.
+ If this flag is not specified, but the object has been opened for delete access, the function fails.
+
+
+
+
+ Direct2D Matrix3x2. Supports implicit cast from .
+
+
+
+
+ Gets the identity matrix.
+
+ The identity matrix.
+
+
+
+ Element (1,1)
+
+
+
+
+ Element (1,2)
+
+
+
+
+ Element (2,1)
+
+
+
+
+ Element (2,2)
+
+
+
+
+ Element (3,1)
+
+
+
+
+ Element (3,2)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the matrix.
+ The value to assign at row 1 column 2 of the matrix.
+ The value to assign at row 2 column 1 of the matrix.
+ The value to assign at row 2 column 2 of the matrix.
+ The value to assign at row 3 column 1 of the matrix.
+ The value to assign at row 3 column 2 of the matrix.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the matrix. This must be an array with six elements.
+ Thrown when is null.
+ Thrown when contains more or less than six elements.
+
+
+
+ Creates an array containing the elements of the matrix.
+
+ A sixteen-element array containing the components of the matrix.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ When the method completes, contains the negated matrix.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ The negated matrix.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor for both axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor for both axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along both axes.
+
+ The uniform scale that is applied along both axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along both axes.
+
+ The uniform scale that is applied along both axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that is scaling from a specified center.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The center of the scaling.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that is scaling from a specified center.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The center of the scaling.
+ The created scaling matrix.
+
+
+
+ Calculates the determinant of this matrix.
+
+ Result of the determinant.
+
+
+
+ Creates a matrix that rotates.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates about a specified center.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The center of the rotation.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates about a specified center.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The center of the rotation.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ X-coordinate offset.
+ Y-coordinate offset.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Angle of rotation in radians.
+ X-coordinate offset.
+ Y-coordinate offset.
+ The created transformation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for both coordinate planes.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for both coordinate planes.
+ The created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ The created translation matrix.
+
+
+
+ Transforms a vector by this matrix.
+
+ The matrix to use as a transformation matrix.
+ The original vector to apply the transformation.
+ The result of the transformation for the input vector.
+
+
+
+ Transforms a vector by this matrix.
+
+ The matrix to use as a transformation matrix.
+ The original vector to apply the transformation.
+ The result of the transformation for the input vector.
+
+
+
+
+ Calculates the inverse of this matrix instance.
+
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ the inverse of the specified matrix.
+
+
+
+ Creates a skew matrix.
+
+ Angle of skew along the X-axis in radians.
+ Angle of skew along the Y-axis in radians.
+ The created skew matrix.
+
+
+
+ Creates a skew matrix.
+
+ Angle of skew along the X-axis in radians.
+ Angle of skew along the Y-axis in radians.
+ When the method completes, contains the created skew matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified matrix.
+
+
+
+ Adds two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Assert a matrix (return it unchanged).
+
+ The matrix to assert (unchanged).
+ The asserted (unchanged) matrix.
+
+
+
+ Subtracts two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to negate.
+ The negated matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Multiplies two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Divides two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The matrix.
+ The result of the conversion.
+
+
+
+ Gets or sets the first row in the matrix; that is M11 and M12.
+
+
+
+
+ Gets or sets the second row in the matrix; that is M21 and M22.
+
+
+
+
+ Gets or sets the third row in the matrix; that is M31 and M32.
+
+
+
+
+ Gets or sets the first column in the matrix; that is M11, M21, and M31.
+
+
+
+
+ Gets or sets the second column in the matrix; that is M12, M22, and M32.
+
+
+
+
+ Gets or sets the translation of the matrix; that is M31 and M32.
+
+
+
+
+ Gets or sets the scale of the matrix; that is M11 and M22.
+
+
+
+
+ Gets a value indicating whether this instance is an identity matrix.
+
+
+ true if this instance is an identity matrix; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 5].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The row of the matrix to access.
+ The column of the matrix to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ The ShadowContainer is the main container used internally to keep references to all native COM/C++ callbacks.
+ It is stored in the property .
+
+
+
+
+ Contains static methods to help in determining intersections, containment, etc.
+
+
+
+
+ Determines the closest point between a point and a triangle.
+
+ The point to test.
+ The first vertex to test.
+ The second vertex to test.
+ The third vertex to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+ The plane to test.
+ The point to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+ The box to test.
+ The point to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+
+ The point to test.
+ When the method completes, contains the closest point between the two objects;
+ or, if the point is directly in the center of the sphere, contains .
+
+
+
+ Determines the closest point between a and a .
+
+ The first sphere to test.
+ The second sphere to test.
+ When the method completes, contains the closest point between the two objects;
+ or, if the point is directly in the center of the sphere, contains .
+
+ If the two spheres are overlapping, but not directly on top of each other, the closest point
+ is the 'closest' point of intersection. This can also be considered is the deepest point of
+ intersection.
+
+
+
+
+ Determines the distance between a and a point.
+
+ The plane to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a point.
+
+ The box to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a .
+
+ The first box to test.
+ The second box to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a point.
+
+ The sphere to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a .
+
+ The first sphere to test.
+ The second sphere to test.
+ The distance between the two objects.
+
+
+
+ Determines whether there is an intersection between a and a point.
+
+ The ray to test.
+ The point to test.
+ Whether the two objects intersect.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first ray to test.
+ The second ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersect.
+
+ This method performs a ray vs ray intersection test based on the following formula
+ from Goldman.
+ s = det([o_2 - o_1, d_2, d_1 x d_2]) / ||d_1 x d_2||^2
+ t = det([o_2 - o_1, d_1, d_1 x d_2]) / ||d_1 x d_2||^2
+ Where o_1 is the position of the first ray, o_2 is the position of the second ray,
+ d_1 is the normalized direction of the first ray, d_2 is the normalized direction
+ of the second ray, det denotes the determinant of a matrix, x denotes the cross
+ product, [ ] denotes a matrix, and || || denotes the length or magnitude of a vector.
+
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The plane to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersect.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The plane to test
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The ray to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+ This method tests if the ray intersects either the front or back of the triangle.
+ If the ray is parallel to the triangle's plane, no intersection is assumed to have
+ happened. If the intersection of the ray and the triangle is behind the origin of
+ the ray, no intersection is assumed to have happened. In both cases of assumptions,
+ this method returns false.
+
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The ray to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The box to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The box to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The sphere to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The sphere to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a point.
+
+ The plane to test.
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first plane to test.
+ The second plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first plane to test.
+ The second plane to test.
+ When the method completes, contains the line of intersection
+ as a , or a zero ray if there was no intersection.
+ Whether the two objects intersected.
+
+ Although a ray is set to have an origin, the ray returned by this method is really
+ a line in three dimensions which has no real origin. The ray is considered valid when
+ both the positive direction is used and when the negative direction is used.
+
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The plane to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The plane to test.
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The plane to test.
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first box to test.
+ The second box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The box to test.
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The sphere to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ First sphere to test.
+ Second sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether a contains a point.
+
+ The box to test.
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The first box to test.
+ The second box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The box to test.
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a point.
+
+ The sphere to test.
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a triangle.
+
+ The sphere to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The sphere to test.
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The first sphere to test.
+ The second sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Represents a color in the form of rgb.
+
+
+
+
+ The Black color (0, 0, 0).
+
+
+
+
+ The White color (1, 1, 1, 1).
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all three color components in RGB order.
+ The alpha component is ignored.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue components of the color. This must be an array with three elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all three color components.
+ The alpha channel is set to 255.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all three color components.
+ The alpha channel is set to 255.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A three-element array containing the components of the color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The color alpha.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The color alpha.
+ The premultiplied color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (float)
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (float).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the red component, 1 for the green component, and 2 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 2].
+
+
+
+ Represents a color in the form of rgba.
+
+
+
+
+ The Black color (0, 0, 0, 1).
+
+
+
+
+ The White color (1, 1, 1, 1).
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, blue, and alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ used to initialize the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ used to initialize the color.
+ The alpha component of the color.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (float).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (float).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the red, green, blue, and alpha components, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Gets or sets the unmanaged callback.
+
+ The unmanaged callback.
+
+ This property is set whenever this instance has an unmanaged callback
+ registered. This callback must be disposed when disposing this instance.
+
+
+
+
+ Root IUnknown class to interop with COM object
+
+
+
+
+ Base interface for Component Object Model (COM).
+
+
+
+
+ Queries the supported COM interface on this instance.
+
+ The guid of the interface.
+ The output COM object reference.
+ If successful,
+
+
+
+ Increments the reference count for an interface on this instance.
+
+ The method returns the new reference count.
+
+
+
+ Decrements the reference count for an interface on this instance.
+
+ The method returns the new reference count.
+
+
+
+ Initializes a new instance of the class.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class from a IUnknown object.
+
+ Reference to a IUnknown object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Query this instance for a particular COM GUID/interface support.
+
+ GUID query interface
+ output object associated with this GUID, IntPtr.Zero in interface is not supported
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query instance for a particular COM GUID/interface support.
+
+ GUID query interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Compares 2 COM objects and return true if the native pointer is the same.
+
+ The left.
+ The right.
+ true if the native pointer is the same, false otherwise
+
+
+
+ Query this instance for a particular COM interface support.
+
+ The type of the COM interface to query
+ An instance of the queried interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query this instance for a particular COM interface support.
+
+ The type of the COM interface to query
+ An instance of the queried interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support (This method is a shortcut to )
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support (This method is a shortcut to )
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support.
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support.
+
+ The type of the COM interface to query
+ A pointer to a COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query Interface for a particular interface support.
+
+ An instance of the queried interface or null if it is not supported
+
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Performs an explicit conversion from to .
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+ Query Interface for a particular interface support and attach to the given instance.
+
+
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+ ms682317
+ IUnknown::Release
+ IUnknown::Release
+
+
+
+ Base class for unmanaged callbackable Com object.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Implements but it cannot not be set.
+ This is only used to support for interop with unmanaged callback.
+
+
+
+
+ A compilation exception.
+
+
+
+
+ The base class for errors that occur in SharpDX.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The result code that caused this exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The result descriptor.
+
+
+
+ Initializes a new instance of the class.
+
+ The error result code.
+ The message describing the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The error result code.
+ The message describing the exception.
+ formatting arguments
+
+
+
+ Initializes a new instance of the class.
+
+ The message describing the exception.
+ formatting arguments
+
+
+
+ Initializes a new instance of the class.
+
+ The message describing the exception.
+ The exception that caused this exception.
+ formatting arguments
+
+
+
+ Gets the Result code for the exception. This value indicates
+ the specific type of failure that occurred within SharpDX.
+
+
+
+
+ Gets the Result code for the exception. This value indicates
+ the specific type of failure that occurred within SharpDX.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The error code.
+ The message.
+
+
+
+ Global configuration.
+
+
+
+
+ Enables or disables object tracking. Default is disabled (false).
+
+
+ Object Tracking is used to track COM object lifecycle creation/dispose. When this option is enabled
+ objects can be tracked using . Using Object tracking has a significant
+ impact on performance and should be used only while debugging.
+
+
+
+
+ Enables or disables release of on finalizer. Default is disabled (false).
+
+
+
+
+ Enables or disables writing a warning via if a was disposed in the finalizer. Default is enabled (true).
+
+
+
+
+ Throws a when a shader or effect compilation error occurred. Default is enabled (true).
+
+
+
+
+ By default all objects in the process are tracked.
+ Use this property to track objects per thread.
+
+
+
+
+ Provides access to data organized in 3D.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The datapointer.
+ The row pitch.
+ The slice pitch.
+
+
+
+ Initializes a new instance of the struct.
+
+ The data pointer.
+
+
+
+ Pointer to the data.
+
+
+
+
+ Gets the number of bytes per row.
+
+
+
+
+ Gets the number of bytes per slice (for a 3D texture, a slice is a 2D image)
+
+
+
+
+ Gets a value indicating whether this instance is empty.
+
+ true if this instance is empty; otherwise, false.
+
+
+
+ Provides access to data organized in 2D.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The data pointer.
+ The pitch.
+
+
+
+ Pointer to the data.
+
+
+
+
+ Gets the number of bytes per row.
+
+
+
+
+ Provides a stream interface to a buffer located in unmanaged memory.
+
+
+
+
+ Initializes a new instance of the class from a Blob buffer.
+
+ The buffer.
+
+
+
+ Initializes a new instance of the class, using a managed buffer as a backing store.
+
+
+ A managed array to be used as a backing store.
+ true if reading from the buffer should be allowed; otherwise, false.
+ true if writing to the buffer should be allowed; otherwise, false.
+ Index inside the buffer in terms of element count (not size in bytes).
+ True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true.
+
+
+
+
+ Initializes a new instance of the class, and allocates a new buffer to use as a backing store.
+
+ The size of the buffer to be allocated, in bytes.
+
+ true if reading from the buffer should be allowed; otherwise, false.
+
+ true if writing to the buffer should be allowed; otherwise, false.
+
+
+
+ Initializes a new instance of the class, using an unmanaged buffer as a backing store.
+
+ A pointer to the buffer to be used as a backing store.
+ The size of the buffer provided, in bytes.
+
+ true if reading from the buffer should be allowed; otherwise, false.
+
+ true if writing to the buffer should be allowed; otherwise, false.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Not supported.
+
+ Always thrown.
+
+
+
+ Reads a single value from the current stream and advances the current
+ position within this stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the value to be read from the stream.
+ The value that was read.
+ This stream does not support reading.
+
+
+
+ Reads a float.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a float from the stream
+
+
+
+ Reads a int.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an int from the stream
+
+
+
+ Reads a short.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an short from the stream
+
+
+
+ Reads a bool.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an bool from the stream
+
+
+
+ Reads a Vector2.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector2 from the stream
+
+
+
+ Reads a Vector3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector3 from the stream
+
+
+
+ Reads a Vector4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector4 from the stream
+
+
+
+ Reads a Color3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Color3 from the stream
+
+
+
+ Reads a Color4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Color4 from the stream
+
+
+
+ Reads a Half.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half from the stream
+
+
+
+ Reads a Half2.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half2 from the stream
+
+
+
+ Reads a Half3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half3 from the stream
+
+
+
+ Reads a Half4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half4 from the stream
+
+
+
+ Reads a Matrix.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a Matrix from the stream
+
+
+
+ Reads a Quaternion.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a Quaternion from the stream
+
+
+
+
+
+
+ Reads a sequence of bytes from the current stream and advances the position
+ within the stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be read from the stream.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current stream.
+ The maximum number of bytes to be read from the current stream.
+ The number of bytes read from the stream.
+ This stream does not support reading.
+
+
+
+ Reads a sequence of bytes from the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+ Reads an array of values from the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the values to be read from the stream.
+ An array of values that was read from the current stream.
+
+
+
+ Reads a sequence of elements from the current stream into a target buffer and
+ advances the position within the stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be read from the stream.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current stream.
+ The number of values to be read from the current stream.
+ The number of bytes read from the stream.
+ This stream does not support reading.
+
+
+
+ Sets the position within the current stream.
+
+ Attempted to seek outside of the bounds of the stream.
+
+
+
+ Not supported.
+
+ Always ignored.
+ Always thrown.
+
+
+
+ Writes a single value to the stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the value to be written to the stream.
+ The value to write to the stream.
+ The stream does not support writing.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes a sequence of bytes to the current stream and advances the current
+ position within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of bytes. This method copies count bytes from buffer to the current stream.
+ The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+ This stream does not support writing.
+
+
+
+ When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+ Writes an array of values to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be written to the current stream.
+ This stream does not support writing.
+
+
+
+ Writes a range of bytes to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ A pointer to the location to start copying from.
+ The number of bytes to copy from source to the current stream.
+ This stream does not support writing.
+
+
+
+ Writes an array of values to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the values to be written to the stream.
+ An array of values to be written to the stream.
+ The zero-based offset in data at which to begin copying values to the current stream.
+ The number of values to be written to the current stream. If this is zero,
+ all of the contents will be written.
+ This stream does not support writing.
+
+
+
+ Performs an explicit conversion from to .
+
+ The from value.
+ The result of the conversion.
+
+
+
+ Gets a value indicating whether the current stream supports reading.
+
+
+ true if the stream supports reading; otherwise, false.
+
+
+
+ Gets a value indicating whether the current stream supports seeking.
+
+ Always true.
+
+
+
+ Gets a value indicating whether the current stream supports writing.
+
+
+ true if the stream supports writing; otherwise, false.
+
+
+
+ Gets the internal pointer to the current stream's backing store.
+
+ An IntPtr to the buffer being used as a backing store.
+
+
+
+ Gets the length in bytes of the stream.
+
+ A long value representing the length of the stream in bytes.
+
+
+
+ Gets or sets the position within the current stream.
+
+ The current position within the stream.
+ Stream Class
+
+
+
+ Gets the position pointer.
+
+ The position pointer.
+
+
+
+ Gets the length of the remaining.
+
+ The length of the remaining.
+
+
+
+ Provides methods to perform fast read/write random access data on a buffer located in an unmanaged memory.
+
+
+ This class doesn't validate the position read/write from. It is the responsibility of the client of this class
+ to verify that access is done within the size of the buffer.
+
+
+
+
+ Creates the specified user buffer.
+
+ Type of the buffer.
+ The buffer to use as a DataBuffer.
+ Index inside the buffer in terms of element count (not size in bytes).
+ True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true.
+ An instance of a DataBuffer
+
+
+
+ Initializes a new instance of the class, and allocates a new buffer to use as a backing store.
+
+ The size of the buffer to be allocated, in bytes.
+
+ is less than 1.
+
+
+
+ Initializes a new instance of the class, using an unmanaged buffer as a backing store.
+
+ A pointer to the buffer to be used as a backing store.
+ The size of the buffer provided, in bytes.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Clears the buffer.
+
+
+
+
+ Gets a single value from the current buffer at the specified position.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ The type of the value to be read from the buffer.
+ The value that was read.
+
+
+
+ Gets a single value from the current buffer at the specified position.
+
+ The type of the value to be read from the buffer.
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ The value as out.
+ The value that was read.
+
+
+
+ Gets a float.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a float from the buffer
+
+
+
+ Gets a int.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an int from the buffer
+
+
+
+ Gets a short.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an short from the buffer
+
+
+
+ Gets a bool.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an bool from the buffer
+
+
+
+ Gets a Vector2.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector2 from the buffer
+
+
+
+ Gets a Vector3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector3 from the buffer
+
+
+
+ Gets a Vector4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector4 from the buffer
+
+
+
+ Gets a Color3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Color3 from the buffer
+
+
+
+ Gets a Color4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Color4 from the buffer
+
+
+
+ Gets a Half.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half from the buffer
+
+
+
+ Gets a Half2.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half2 from the buffer
+
+
+
+ Gets a Half3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half3 from the buffer
+
+
+
+ Gets a Half4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half4 from the buffer
+
+
+
+ Gets a Matrix.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a Matrix from the buffer
+
+
+
+ Gets a Quaternion.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a Quaternion from the buffer
+
+
+
+ Gets an array of values from a position in the buffer.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ number of T instance to get from the positionInBytes
+ The type of the values to be read from the buffer.
+ An array of values that was read from the current buffer.
+
+
+
+ Gets a sequence of elements from a position in the buffer into a target buffer.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ An array of values to be read from the buffer.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current buffer.
+ The number of values to be read from the current buffer.
+
+
+
+ Sets a single value to the buffer at a specified position.
+
+ The type of the value to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value to write to the buffer.
+
+
+
+ Sets a single value to the buffer at a specified position.
+
+ The type of the value to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value to write to the buffer.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets an array of values to a specified position into the buffer.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ An array of values to be written to the current buffer.
+
+
+
+ Sets a range of data to a specified position into the buffer.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ A pointer to the location to start copying from.
+ The number of bytes to copy from source to the current buffer.
+
+
+
+ Sets an array of values to a specified position into the buffer.
+
+ The type of the values to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ An array of values to be written to the buffer.
+ The zero-based offset in data at which to begin copying values to the current buffer.
+ The number of values to be written to the current buffer. If this is zero,
+ all of the contents will be written.
+
+
+
+ Performs an explicit conversion from to .
+
+ The from value.
+ The result of the conversion.
+
+
+
+ Gets a pointer to the buffer used as a backing store..
+
+ An IntPtr to the buffer being used as a backing store.
+
+
+
+ Gets the length in bytes of the buffer.
+
+ A long value representing the length of the buffer in bytes.
+
+
+
+ Contains information about a tracked COM object.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The creation time.
+ The com object to track.
+ The stack trace.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets the time the object was created.
+
+ The creation time.
+
+
+
+ Gets a weak reference to the tracked object.
+
+ The weak reference to the tracked object.
+
+
+
+ Gets the stack trace when the track object was created.
+
+ The stack trace.
+
+
+
+ Gets a value indicating whether the tracked object is alive.
+
+ true if tracked object is alive; otherwise, false.
+
+
+
+ Event args for used by .
+
+
+
+
+ The object being tracked/untracked.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The o.
+
+
+
+ Track all allocated objects.
+
+
+
+
+ Tracks the specified COM object.
+
+ The COM object.
+
+
+
+ Finds a list of object reference from a specified COM object pointer.
+
+ The COM object pointer.
+ A list of object reference
+
+
+
+ Finds the object reference for a specific COM object.
+
+ The COM object.
+ An object reference
+
+
+
+ Untracks the specified COM object.
+
+ The COM object.
+
+
+
+ Reports all COM object that are active and not yet disposed.
+
+
+
+
+ Reports all COM object that are active and not yet disposed.
+
+
+
+
+ Occurs when a ComObject is tracked.
+
+
+
+
+ Occurs when a ComObject is untracked.
+
+
+
+
+ Describes the type of angle.
+
+
+
+
+ Specifies an angle measurement in revolutions.
+
+
+
+
+ Specifies an angle measurement in degrees.
+
+
+
+
+ Specifies an angle measurement in radians.
+
+
+
+
+ Specifies an angle measurement in gradians.
+
+
+
+
+ Describes how one bounding volume contains another.
+
+
+
+
+ The two bounding volumes don't intersect at all.
+
+
+
+
+ One bounding volume completely contains another.
+
+
+
+
+ The two bounding volumes overlap.
+
+
+
+
+ Describes the result of an intersection with a plane in three dimensions.
+
+
+
+
+ The object is behind the plane.
+
+
+
+
+ The object is in front of the plane.
+
+
+
+
+ The object is intersecting the plane.
+
+
+
+
+ FunctionCallback
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
Values that identify the indended use of a constant-data buffer.
+
+
+
-typed values are specified in the uFlags member of the D3D11_SHADER_BUFFER_DESC structure.
A hardware driver, which implements Direct3D features in hardware. This is the primary driver that you should use in your Direct3D applications because it provides the best performance. A hardware driver uses hardware acceleration (on supported hardware) but can also use software for parts of the pipeline that are not supported in hardware. This driver type is often referred to as a hardware abstraction layer or HAL.
A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.
A null driver, which is a reference driver without render capability. This driver is commonly used for debugging non-rendering API calls, it is not appropriate for retail applications. This driver is installed by the DirectX SDK.
A software driver, which is a driver implemented completely in software. The software implementation is not intended for a high-performance application due to its very slow performance.
A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.
Targets features supported by Direct3D 11.1 including Direct3D device sharing. Device sharing enables Direct3D 10 and Direct3D 11 APIs to use one underlying rendering device. For more information about device sharing, see .
Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.
+
+
+
Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.
The following diagram shows the various primitive types for a geometry shader object.
Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.
+
+
+
Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.
The following diagram shows the various primitive types for a geometry shader object.
Return type is a multiple-dword type, such as a double or uint64, and the component is continued from the previous component that was declared. The first component represents the lower bits.
Use a comparison sampler, which uses the SampleCmp (DirectX HLSL Texture Object) and SampleCmpLevelZero (DirectX HLSL Texture Object) sampling functions.
Values that identify the class of a shader variable.
+
+
+
The class of a shader variable is not a programming class; the class identifies the variable class such as scalar, vector, object, and so on. -typed values are specified in the Class member of the D3D11_SHADER_TYPE_DESC structure.
Indicates that the registers assigned to this shader variable were explicitly declared in shader code (instead of automatically assigned by the compiler).
Indicates that this variable is used by this shader. This value confirms that a particular shader variable (which can be common to many different shaders) is indeed used by a particular shader.
Values that identify various data, texture, and buffer types that can be assigned to a shader variable.
+
+
+
A call to the ID3D11ShaderReflectionType::GetDesc method returns a value in the Type member of a D3D11_SHADER_TYPE_DESC structure.
The types in a structured buffer describe the structure of the elements in the buffer. The layout of these types generally match their C++ struct counterparts. The following examples show structured buffers:
Values that identify shader parameters that use system-value semantics.
+
+
+
The values identify shader parameters that have predefined system-value semantics. These values are used in a shader-signature description. For more information about shader-signature description, see D3D11_SIGNATURE_PARAMETER_DESC.
+
+
+ ff728724
+ D3D_NAME
+ D3D_NAME
+
+
+
+
This parameter does not use a predefined system-value semantic.
This parameter contains one of four tessellation factors that correspond to the amount of parts that a quad patch is broken into along the given edge. This flag is used to tessellate a quad patch.
This parameter contains one of two tessellation factors that correspond to the amount of parts that a quad patch is broken into vertically and horizontally within the patch. This flag is used to tessellate a quad patch.
This parameter contains one of three tessellation factors that correspond to the amount of parts that a tri patch is broken into along the given edge. This flag is used to tessellate a tri patch.
This parameter contains the tessellation factor that corresponds to the amount of parts that a tri patch is broken into within the patch. This flag is used to tessellate a tri patch.
This parameter contains the tessellation factor that corresponds to the number of lines broken into within the patch. This flag is used to tessellate an isolines patch.
This parameter contains the tessellation factor that corresponds to the number of lines that are created within the patch. This flag is used to tessellate an isolines patch.
This parameter signifies that the value is greater than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.
This parameter signifies that the value is less than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.
During tessellation, the partition option helps to determine how the algorithm chooses the next partition value; this enumeration is used by D3D11_SHADER_DESC.
This interface is used to return arbitrary length data.
+
+
+
An is obtained by calling D3D10CreateBlob.
The ID3DBlob interface is type defined in the D3DCommon.h header file as a interface, which is fully defined in the D3DCommon.h header file. ID3DBlob is version neutral and can be used in code for any Direct3D version.
Blobs can be used as a data buffer, storing vertex, adjacency, and material information during mesh optimization and loading operations. Also, these objects are used to return object code and error messages in APIs that compile vertex, geometry and pixel shaders.
+
+
+ bb173507
+ ID3D10Blob
+ ID3D10Blob
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
A multithread interface accesses multithread settings and can only be used if the thread-safe layer is turned on.
+
+
+
This interface is obtained by querying it from the ID3D10Device Interface using IUnknown::QueryInterface.
+
+
+ bb173816
+ ID3D10Multithread
+ ID3D10Multithread
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
Enter a device's critical section.
+
+
+
Entering a device's critical section prevents other threads from simultaneously calling that device's methods (if multithread protection is set to true), calling DXGI methods, and calling the methods of all resource, view, shader, state, and asynchronous interfaces.
This function should be used in multithreaded applications when there is a series of graphics commands that must happen in order. This function is typically called at the beginning of the series of graphics commands, and is typically called after those graphics commands.
This function is typically used in multithreaded applications when there is a series of graphics commands that must happen in order. is typically called at the beginning of a series of graphics commands, and this function is typically called after those graphics commands.
is an include interface that the user implements to allow an application to call user-overridable methods for opening and closing shader #include files.
+
+
+
To use this interface, create an interface that inherits from and implement custom behavior for the methods.
+
+
+ ff728732
+ const char* Name
+ char Name
+
+
+
+
The macro definition.
+
+
+ ff728732
+ const char* Definition
+ char Definition
+
+
+
+ Initializes a new instance of the struct.
+
+
+ The name.
+
+
+ The definition.
+
+
+
+
+
The enumeration defines constants that indicate whether an audio stream will run in shared mode or in exclusive mode.
+
+
+
The IAudioClient::Initialize and IAudioClient::IsFormatSupported methods use the constants defined in the enumeration.
In shared mode, the client can share the audio endpoint device with clients that run in other user-mode processes. The audio engine always supports formats for client streams that match the engine's mix format. In addition, the audio engine might support another format if the Windows audio service can insert system effects into the client stream to convert the client format to the mix format.
In exclusive mode, the Windows audio service attempts to establish a connection in which the client has exclusive access to the audio endpoint device. In this mode, the audio engine inserts no system effects into the local stream to aid in the creation of the connection point. Either the audio device can handle the specified format directly or the method fails.
For more information about shared-mode and exclusive-mode streams, see User-Mode Audio Components.
The AudioSessionState enumeration defines constants that indicate the current state of an audio session.
+
+
+
When a client opens a session by assigning the first stream to the session (by calling the IAudioClient::Initialize method), the initial session state is inactive. The session state changes from inactive to active when a stream in the session begins running (because the client has called the IAudioClient::Start method). The session changes from active to inactive when the client stops the last running stream in the session (by calling the IAudioClient::Stop method). The session state changes to expired when the client destroys the last stream in the session by releasing all references to the stream object.
The system volume-control program, Sndvol, displays volume controls for both active and inactive sessions. Sndvol stops displaying the volume control for a session when the session state changes to expired. For more information about Sndvol, see Audio Sessions.
The IAudioSessionControl::GetState and IAudioSessionEvents::OnStateChanged methods use the constants defined in the AudioSessionState enumeration.
For more information about session states, see Audio Sessions.
The
+ enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the
+ ILockBytes::LockRegion and
+ methods.
The
+ enumeration values indicate whether the method should try to return a name in the pwcsName member of the
+ structure. The values are used in the
+ ILockBytes::Stat,
+ IStorage::Stat, and
+ methods to save memory when the pwcsName member is not required.
The
+ interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.
The
+ interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an
+ interface reference rather than a file handle.
The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.
Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.
Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous
+ IMoniker::BindToStorage operation and for receiving asynchronous notifications. See
+ URL Monikers for more information. The following table compares the behavior of asynchronous
+ and
+ calls returned in IBindStatusCallback::OnDataAvailable in these two download models:
+
+
+ aa380034
+ IStream
+ IStream
+
+
+
+
The
+ interface supports simplified sequential access to stream objects. The
+ interface inherits its
+ Read and
+ Write methods from
+ .
The
+ interface supports simplified sequential access to stream objects. The
+ interface inherits its
+ Read and
+ Write methods from
+ .
+
+
+ aa380010
+ ISequentialStream
+ ISequentialStream
+
+
+
+ Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.
+
+ The read buffer.
+ The number of bytes to read.
+ The actual number of bytes read from the stream object.
+
+
+
+ Writes a specified number of bytes into the stream object starting at the current seek pointer.
+
+ The buffer.
+ The number of bytes to read.
+ The actual number of bytes written to the stream object
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
The Read method reads a specified number of bytes from the stream object into memory, starting at the current seek reference.
+
+
A reference to the buffer which the stream data is read into.
+
The number of bytes of data to read from the stream object.
+
A reference to a ULONG variable that receives the actual number of bytes read from the stream object.
Note??The number of bytes read may be zero.
+
+
This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.
The number of bytes actually read is also returned in the pcbRead parameter.
Notes to Callers
The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.
The application should handle both a returned error and return values on end-of-stream read operations.
The Write method writes a specified number of bytes into the stream object starting at the current seek reference.
+
+
A reference to the buffer that contains the data that is to be written to the stream. A valid reference must be provided for this parameter even when cb is zero.
+
The number of bytes of data to attempt to write into the stream. This value can be zero.
+
A reference to a ULONG variable where this method writes the actual number of bytes written to the stream object. The caller can set this reference to null, in which case this method does not provide the actual number of bytes written.
+
+
writes the specified data to a stream object. The seek reference is adjusted for the number of bytes actually written. The number of bytes actually written is returned in the pcbWritten parameter. If the byte count is zero bytes, the write operation has no effect.
If the seek reference is currently past the end of the stream and the byte count is nonzero, this method increases the size of the stream to the seek reference and writes the specified bytes starting at the seek reference. The fill bytes written to the stream are not initialized to any particular value. This is the same as the end-of-file behavior in the MS-DOS FAT file system.
With a zero byte count and a seek reference past the end of the stream, this method does not create the fill bytes to increase the stream to the seek reference. In this case, you must call the
+ method to increase the size of the stream and write the fill bytes.
The pcbWritten parameter can have a value even if an error occurs.
In the COM-provided implementation, stream objects are not sparse. Any fill bytes are eventually allocated on the disk and assigned to the stream.
The
+ interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.
The
+ interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an
+ interface reference rather than a file handle.
The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.
Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.
Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous
+ IMoniker::BindToStorage operation and for receiving asynchronous notifications. See
+ URL Monikers for more information. The following table compares the behavior of asynchronous
+ and
+ calls returned in IBindStatusCallback::OnDataAvailable in these two download models:
+
+
+ aa380034
+ IStream
+ IStream
+
+
+
+ Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer.
+
+ The offset.
+ The origin.
+ The offset of the seek pointer from the beginning of the stream.
+
+
+
+ Changes the size of the stream object.
+
+ The new size.
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.
+
+ The stream destination.
+ The number of bytes to copy.
+ The number of bytes written.
+ The number of bytes read
+
+
+
+ Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
+
+ The GRF commit flags.
+
+
+
+ Discards all changes that have been made to a transacted stream since the last call.
+
+
+
+
+ Restricts access to a specified range of bytes in the stream.
+
+ The offset.
+ The number of bytes to lock.
+ Type of the dw lock.
+
+
+
+ Unlocks access to a specified range of bytes in the stream.
+
+ The offset.
+ The number of bytes to lock.
+ Type of the dw lock.
+
+
+
+ Gets the statistics.
+
+ The storage statistics flags.
+
+
+
+
+ Clones this instance.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
The Seek method changes the seek reference to a new location. The new location is relative to either the beginning of the stream, the end of the stream, or the current seek reference.
+
+
The displacement to be added to the location indicated by the dwOrigin parameter. If dwOrigin is STREAM_SEEK_SET, this is interpreted as an unsigned value rather than a signed value.
+
The origin for the displacement specified in dlibMove. The origin can be the beginning of the file (STREAM_SEEK_SET), the current seek reference (STREAM_SEEK_CUR), or the end of the file (STREAM_SEEK_END). For more information about values, see the STREAM_SEEK enumeration.
+
A reference to the location where this method writes the value of the new seek reference from the beginning of the stream.
You can set this reference to null. In this case, this method does not provide the new seek reference.
+
+
changes the seek reference so that subsequent read and write operations can be performed at a different location in the stream object. It is an error to seek before the beginning of the stream. It is not, however, an error to seek past the end of the stream. Seeking past the end of the stream is useful for subsequent write operations, as the stream byte range will be extended to the new seek position immediately before the write is complete.
You can also use this method to obtain the current value of the seek reference by calling this method with the dwOrigin parameter set to STREAM_SEEK_CUR and the dlibMove parameter set to 0 so that the seek reference is not changed. The current seek reference is returned in the plibNewPosition parameter.
The SetSize method changes the size of the stream object.
+
+
Specifies the new size of the stream as a number of bytes.
+
This method can return one of the following values.
The size of the stream object was successfully changed.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The stream size is not changed because there is no space left on the storage device.
STG_E_INVALIDFUNCTION
The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the
+ method if the seek reference is past the current end of stream.
If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.
The seek reference is not affected by the change in stream size.
Calling can be an effective way to obtain a large chunk of contiguous space.
The CopyTo method copies a specified number of bytes from the current seek reference in the stream to the current seek reference in another stream.
+
+
A reference to the destination stream. The stream pointed to by pstm can be a new stream or a clone of the source stream.
+
The number of bytes to copy from the source stream.
+
A reference to the location where this method writes the actual number of bytes written to the destination. You can set this reference to null. In this case, this method does not provide the actual number of bytes written.
+
A reference to the location where this method writes the actual number of bytes read from the source. You can set this reference to null. In this case, this method does not provide the actual number of bytes read.
+
+
The CopyTo method copies the specified bytes from one stream to another. It can also be used to copy a stream to itself. The seek reference in each stream instance is adjusted for the number of bytes read or written. This method is equivalent to reading cb bytes into memory using
+ and then immediately writing them to the destination stream using
+ , although will be more efficient.
The destination stream can be a clone of the source stream created by calling the
+ method.
If returns an error, you cannot assume that the seek references are valid for either the source or destination. Additionally, the values of pcbRead and pcbWritten are not meaningful even though they are returned.
If returns successfully, the actual number of bytes read and written are the same.
To copy the remainder of the source from the current seek reference, specify the maximum large integer value for the cb parameter. If the seek reference is the beginning of the stream, this operation copies the entire stream.
The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
+
+
Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.
+
This method can return one of the following values.
Changes to the stream object were successfully committed to the parent level.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The commit operation failed due to lack of space on the storage device.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see
+ - Compound File Implementation.
If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.
The method is useful on a direct mode stream when the implementation of the
+ interface is a wrapper for underlying file system APIs. In this case, would be connected to the file system's flush call.
The Revert method discards all changes that have been made to a transacted stream since the last
+ call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.
+
+
This method can return one of the following values.
The stream was successfully reverted to its previous version.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
+
+
The Revert method discards changes made to a transacted stream since the last commit operation.
The LockRegion method restricts access to a specified range of bytes in the stream. Supporting this functionality is optional since some file systems do not provide it.
+
+
Integer that specifies the byte offset for the beginning of the range.
+
Integer that specifies the length of the range, in bytes, to be restricted.
+
Specifies the restrictions being requested on accessing the range.
+
This method can return one of the following values.
The specified range of bytes was locked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
Requested lock is supported, but cannot be granted because of an existing lock.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.
Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the
+ enumeration.
Any region locked with must later be explicitly unlocked by calling
+ with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.
Notes to Callers
Since the type of locking supported is optional and can vary in different implementations of
+ , you must provide code to deal with the STG_E_INVALIDFUNCTION error.
The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.
Notes to Implementers
Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.
+
+
+ aa380039
+ HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+ IStream::LockRegion
+
+
+
+ No documentation.
+
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+
+ HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+ IStream::UnlockRegion
+
+
+
+
The Stat method retrieves the
+ structure for this stream.
+
+ No documentation.
+ No documentation.
+
+
retrieves a reference to the
+ structure that contains information about this open stream. When this stream is within a structured storage and
+ IStorage::EnumElements is called, it creates an enumerator object with the
+ IEnumSTATSTG interface on it, which can be called to enumerate the storages and streams through the
+ structures associated with each of them.
The Clone method creates a new stream object with its own seek reference that references the same bytes as the original stream.
+
+
When successful, reference to the location of an reference to the new stream object. If an error occurs, this parameter is null.
+
+
The Clone method creates a new stream object for accessing the same bytes but using a separate seek reference. The new stream object sees the same data as the source-stream object. Changes written to one object are immediately visible in the other. Range locking is shared between the stream objects.
The initial setting of the seek reference in the cloned stream instance is the same as the current setting of the seek reference in the original stream at the time of the clone operation.
+
+
+ aa380035
+ HRESULT IStream::Clone([Out] IStream** ppstm)
+ IStream::Clone
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.
+
+ The stream destination.
+ The number of bytes to copy.
+ The bytes written.
+ The number of bytes read from this instance
+
+
+
+ Gets a com pointer to the underlying object.
+
+ The stream.
+ A Com pointer
+
+
+
+
The
+ structure contains statistical data about an open storage, stream, or byte-array object. This structure is used in the
+ IEnumSTATSTG,
+ ILockBytes,
+ IStorage, and
+ interfaces.
+
+
+ aa380319
+ STATSTG
+ STATSTG
+
+
+
+ No documentation.
+
+
+ aa380319
+ wchar_t* pwcsName
+ wchar_t pwcsName
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int type
+ unsigned int type
+
+
+
+ No documentation.
+
+
+ aa380319
+ ULARGE_INTEGER cbSize
+ ULARGE_INTEGER cbSize
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME mtime
+ FILETIME mtime
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME ctime
+ FILETIME ctime
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME atime
+ FILETIME atime
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfMode
+ unsigned int grfMode
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfLocksSupported
+ unsigned int grfLocksSupported
+
+
+
+ No documentation.
+
+
+ aa380319
+ GUID clsid
+ GUID clsid
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfStateBits
+ unsigned int grfStateBits
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int reserved
+ unsigned int reserved
+
+
+
+ A half precision (16 bit) floating point value.
+
+
+
+
+ Number of decimal digits of precision.
+
+
+
+
+ Number of bits in the mantissa.
+
+
+
+
+ Maximum decimal exponent.
+
+
+
+
+ Maximum binary exponent.
+
+
+
+
+ Minimum decimal exponent.
+
+
+
+
+ Minimum binary exponent.
+
+
+
+
+ Exponent radix.
+
+
+
+
+ Additional rounding.
+
+
+
+
+ Smallest such that 1.0 + epsilon != 1.0
+
+
+
+
+ Maximum value of the number.
+
+
+
+
+ Minimum value of the number.
+
+
+
+
+ Initializes a new instance of the structure.
+
+ The floating point value that should be stored in 16 bit format.
+
+
+
+ Initializes a new instance of the structure.
+
+ The floating point value that should be stored in 16 bit format.
+
+
+
+ Converts an array of half precision values into full precision values.
+
+ The values to be converted.
+ An array of converted values.
+
+
+
+ Converts an array of full precision values into half precision values.
+
+ The values to be converted.
+ An array of converted values.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value to be converted.
+ The converted value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to be converted.
+ The converted value.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Converts the value of the object to its equivalent string representation.
+
+ The string representation of the value of this instance.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Gets or sets the raw 16 bit value used to back this half-float.
+
+
+
+
+ Defines a two component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for both the X and Y components.
+
+
+
+ Initializes a new instance of the structure.
+
+ Value to initialize X and Y components with.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Defines a three component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Gets or sets the Z component of the vector.
+
+ The Z component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for the X, Y, and Z components.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Defines a four component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Gets or sets the Z component of the vector.
+
+ The Z component of the vector.
+
+
+
+ Gets or sets the W component of the vector.
+
+ The W component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for the X, Y, Z, and W components.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Helper class to perform Half/Float conversion.
+ Code extract from paper : www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf by Jeroen van der Zijp
+
+
+
+
+ Unpacks the specified h.
+
+ The h.
+
+
+
+
+ Packs the specified f.
+
+ The f.
+
+
+
+
+ Represents a four dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0, 0).
+
+
+
+
+ The Z unit (0, 0, 1, 0).
+
+
+
+
+ The W unit (0, 0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ When the method completes, contains the modulated vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ The modulated vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The implementation of this class is filled by InteropBuilder post-building-event.
+
+
+
+
+ Provides a fixed statement working with generics.
+
+
+ The data.
+ A fixed pointer to the referenced structure
+
+ This is the only function in this class that is inlined in order to inline the fixed statement correctly.
+
+
+
+
+ The value for which all absolute numbers smaller than are considered equal to zero.
+
+
+
+
+ A value specifying the approximation of π which is 180 degrees.
+
+
+
+
+ A value specifying the approximation of 2Ï€ which is 360 degrees.
+
+
+
+
+ A value specifying the approximation of π/2 which is 90 degrees.
+
+
+
+
+ A value specifying the approximation of π/4 which is 45 degrees.
+
+
+
+
+ Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike method). See Remarks.
+ See remarks.
+
+ The left value to compare.
+ The right value to compare.
+ true if a almost equal to b, false otherwise
+
+ The code is using the technique described by Bruce Dawson in
+ Comparing Floating point numbers 2012 edition.
+
+
+
+
+ Determines whether the specified value is close to zero (0.0f).
+
+ The floating value.
+ true if the specified value is close to zero (0.0f); otherwise, false.
+
+
+
+ Determines whether the specified value is close to one (1.0f).
+
+ The floating value.
+ true if the specified value is close to one (1.0f); otherwise, false.
+
+
+
+ Checks if a - b are almost equals within a float epsilon.
+
+ The left value to compare.
+ The right value to compare.
+ Epsilon value
+ true if a almost equal to b within a float epsilon, false otherwise
+
+
+
+ Converts revolutions to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts revolutions to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts revolutions to gradians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts degrees to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts degrees to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to gradians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Clamps the specified value.
+
+ The value.
+ The min.
+ The max.
+ The result of clamping a value between min and max
+
+
+
+ Clamps the specified value.
+
+ The value.
+ The min.
+ The max.
+ The result of clamping a value between min and max
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Performs smooth (cubic Hermite) interpolation between 0 and 1.
+
+
+ See https://en.wikipedia.org/wiki/Smoothstep
+
+ Value between 0 and 1 indicating interpolation amount.
+
+
+
+ Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
+
+
+ See https://en.wikipedia.org/wiki/Smoothstep
+
+ Value between 0 and 1 indicating interpolation amount.
+
+
+
+ Calculates the modulo of the specified value.
+
+ The value.
+ The modulo.
+ The result of the modulo applied to value
+
+
+
+ Calculates the modulo 2*PI of the specified value.
+
+ The value.
+ The result of the modulo applied to value
+
+
+
+ Wraps the specified value into a range [min, max]
+
+ The value to wrap.
+ The min.
+ The max.
+ Result of the wrapping.
+ Is thrown when is greater than .
+
+
+
+ Wraps the specified value into a range [min, max[
+
+ The value.
+ The min.
+ The max.
+ Result of the wrapping.
+ Is thrown when is greater than .
+
+
+
+ Gauss function.
+
+ Curve amplitude.
+ Position X.
+ Position Y
+ Radius X.
+ Radius Y.
+ Curve sigma X.
+ Curve sigma Y.
+ The result of Gaussian function.
+
+
+
+ Gauss function.
+
+ Curve amplitude.
+ Position X.
+ Position Y
+ Radius X.
+ Radius Y.
+ Curve sigma X.
+ Curve sigma Y.
+ The result of Gaussian function.
+
+
+
+ Represents a 4x4 mathematical matrix.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the matrix.
+
+
+
+
+ Value at row 1 column 2 of the matrix.
+
+
+
+
+ Value at row 1 column 3 of the matrix.
+
+
+
+
+ Value at row 1 column 4 of the matrix.
+
+
+
+
+ Value at row 2 column 1 of the matrix.
+
+
+
+
+ Value at row 2 column 2 of the matrix.
+
+
+
+
+ Value at row 2 column 3 of the matrix.
+
+
+
+
+ Value at row 2 column 4 of the matrix.
+
+
+
+
+ Value at row 3 column 1 of the matrix.
+
+
+
+
+ Value at row 3 column 2 of the matrix.
+
+
+
+
+ Value at row 3 column 3 of the matrix.
+
+
+
+
+ Value at row 3 column 4 of the matrix.
+
+
+
+
+ Value at row 4 column 1 of the matrix.
+
+
+
+
+ Value at row 4 column 2 of the matrix.
+
+
+
+
+ Value at row 4 column 3 of the matrix.
+
+
+
+
+ Value at row 4 column 4 of the matrix.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the matrix.
+ The value to assign at row 1 column 2 of the matrix.
+ The value to assign at row 1 column 3 of the matrix.
+ The value to assign at row 1 column 4 of the matrix.
+ The value to assign at row 2 column 1 of the matrix.
+ The value to assign at row 2 column 2 of the matrix.
+ The value to assign at row 2 column 3 of the matrix.
+ The value to assign at row 2 column 4 of the matrix.
+ The value to assign at row 3 column 1 of the matrix.
+ The value to assign at row 3 column 2 of the matrix.
+ The value to assign at row 3 column 3 of the matrix.
+ The value to assign at row 3 column 4 of the matrix.
+ The value to assign at row 4 column 1 of the matrix.
+ The value to assign at row 4 column 2 of the matrix.
+ The value to assign at row 4 column 3 of the matrix.
+ The value to assign at row 4 column 4 of the matrix.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the matrix. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Calculates the determinant of the matrix.
+
+ The determinant of the matrix.
+
+
+
+ Inverts the matrix.
+
+
+
+
+ Transposes the matrix.
+
+
+
+
+ Orthogonalizes the specified matrix.
+
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R.
+
+ When the method completes, contains the orthonormalized matrix of the decomposition.
+ When the method completes, contains the right triangular matrix of the decomposition.
+
+
+
+ Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
+
+ When the method completes, contains the lower triangular matrix of the decomposition.
+ When the method completes, contains the orthonormalized matrix of the decomposition.
+
+
+
+ Decomposes a matrix into a scale, rotation, and translation.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+ When the method completes, contains the translation component of the decomposed matrix.
+
+ This method is designed to decompose an SRT transformation matrix only.
+
+
+
+
+ Decomposes a uniform scale matrix into a scale, rotation, and translation.
+ A uniform scale matrix has the same scale in every axis.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+ When the method completes, contains the translation component of the decomposed matrix.
+
+ This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
+
+
+
+
+ Exchanges two rows in the matrix.
+
+ The first row to exchange. This is an index of the row starting at zero.
+ The second row to exchange. This is an index of the row starting at zero.
+
+
+
+ Exchanges two columns in the matrix.
+
+ The first column to exchange. This is an index of the column starting at zero.
+ The second column to exchange. This is an index of the column starting at zero.
+
+
+
+ Creates an array containing the elements of the matrix.
+
+ A sixteen-element array containing the components of the matrix.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Performs the exponential operation on a matrix.
+
+ The matrix to perform the operation on.
+ The exponent to raise the matrix to.
+ When the method completes, contains the exponential matrix.
+ Thrown when the is negative.
+
+
+
+ Performs the exponential operation on a matrix.
+
+ The matrix to perform the operation on.
+ The exponent to raise the matrix to.
+ The exponential matrix.
+ Thrown when the is negative.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ When the method completes, contains the negated matrix.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ The negated matrix.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified matrix.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified matrix.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ The transpose of the specified matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ The inverse of the specified matrix.
+
+
+
+ Orthogonalizes the specified matrix.
+
+ The matrix to orthogonalize.
+ When the method completes, contains the orthogonalized matrix.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthogonalizes the specified matrix.
+
+ The matrix to orthogonalize.
+ The orthogonalized matrix.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+ The matrix to orthonormalize.
+ When the method completes, contains the orthonormalized matrix.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+ The matrix to orthonormalize.
+ The orthonormalized matrix.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Brings the matrix into upper triangular form using elementary row operations.
+
+ The matrix to put into upper triangular form.
+ When the method completes, contains the upper triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into upper triangular form using elementary row operations.
+
+ The matrix to put into upper triangular form.
+ The upper triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into lower triangular form using elementary row operations.
+
+ The matrix to put into lower triangular form.
+ When the method completes, contains the lower triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into lower triangular form using elementary row operations.
+
+ The matrix to put into lower triangular form.
+ The lower triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into row echelon form using elementary row operations;
+
+ The matrix to put into row echelon form.
+ When the method completes, contains the row echelon form of the matrix.
+
+
+
+ Brings the matrix into row echelon form using elementary row operations;
+
+ The matrix to put into row echelon form.
+ When the method completes, contains the row echelon form of the matrix.
+
+
+
+ Brings the matrix into reduced row echelon form using elementary row operations.
+
+ The matrix to put into reduced row echelon form.
+ The fifth column of the matrix.
+ When the method completes, contains the resultant matrix after the operation.
+ When the method completes, contains the resultant fifth column of the matrix.
+
+ The fifth column is often called the augmented part of the matrix. This is because the fifth
+ column is really just an extension of the matrix so that there is a place to put all of the
+ non-zero components after the operation is complete.
+ Often times the resultant matrix will the identity matrix or a matrix similar to the identity
+ matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.
+ This method can be used to solve systems of linear equations. Upon completion of this method,
+ the will contain the solution for the system. It is up to the user
+ to analyze both the input and the result to determine if a solution really exists.
+
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard matrix.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard matrix.
+
+
+
+ Creates a right-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard matrix.
+
+
+
+ Creates a right-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard matrix.
+
+
+
+ Creates a left-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at matrix.
+
+
+
+ Creates a left-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at matrix.
+
+
+
+ Creates a right-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at matrix.
+
+
+
+ Creates a right-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at matrix.
+
+
+
+ Creates a left-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Builds a matrix that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ When the method completes, contains the reflection matrix.
+
+
+
+ Builds a matrix that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ The reflection matrix.
+
+
+
+ Creates a matrix that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ When the method completes, contains the shadow matrix.
+
+
+
+ Creates a matrix that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ The shadow matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix from a quaternion.
+
+ The quaternion to use to build the matrix.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix from a quaternion.
+
+ The quaternion to use to build the matrix.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a rotation matrix with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ The created rotation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for all three coordinate planes.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for all three coordinate planes.
+ The created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ The created translation matrix.
+
+
+
+ Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle.
+ shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane.
+ The effect is such that the skewed rotation vector has the specified angle with rotation itself.
+
+ The rotation angle.
+ The rotation vector
+ The translation vector
+ Contains the created skew/shear matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created transformation matrix.
+
+
+
+ Creates a 2D transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a 2D transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created transformation matrix.
+
+
+
+ Adds two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Assert a matrix (return it unchanged).
+
+ The matrix to assert (unchanged).
+ The asserted (unchanged) matrix.
+
+
+
+ Subtracts two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to negate.
+ The negated matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Multiplies two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Divides two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets or sets the up of the matrix; that is M21, M22, and M23.
+
+
+
+
+ Gets or sets the down of the matrix; that is -M21, -M22, and -M23.
+
+
+
+
+ Gets or sets the right of the matrix; that is M11, M12, and M13.
+
+
+
+
+ Gets or sets the left of the matrix; that is -M11, -M12, and -M13.
+
+
+
+
+ Gets or sets the forward of the matrix; that is -M31, -M32, and -M33.
+
+
+
+
+ Gets or sets the backward of the matrix; that is M31, M32, and M33.
+
+
+
+
+ Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
+
+
+
+
+ Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
+
+
+
+
+ Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
+
+
+
+
+ Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
+
+
+
+
+ Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
+
+
+
+
+ Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
+
+
+
+
+ Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
+
+
+
+
+ Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
+
+
+
+
+ Gets or sets the translation of the matrix; that is M41, M42, and M43.
+
+
+
+
+ Gets or sets the scale of the matrix; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity matrix.
+
+
+ true if this instance is an identity matrix; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The row of the matrix to access.
+ The column of the matrix to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Generic sound input stream supporting WAV (Pcm,Float), ADPCM, xWMA sound file formats.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The sound stream.
+
+
+
+ Initializes the specified stream.
+
+ The stream.
+
+
+
+ Converts this stream to a DataStream by loading all the data from the source stream.
+
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The stream.
+
+ The result of the conversion.
+
+
+
+
+ When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
+
+
+ An I/O error occurs.
+
+
+
+
+ When overridden in a derived class, sets the position within the current stream.
+
+ A byte offset relative to the parameter.
+ A value of type indicating the reference point used to obtain the new position.
+
+ The new position within the current stream.
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support seeking, such as if the stream is constructed from a pipe or console output.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, sets the length of the current stream.
+
+ The desired length of the current stream in bytes.
+
+ An I/O error occurs.
+
+
+
+ The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+
+ An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source.
+ The zero-based byte offset in at which to begin storing the data read from the current stream.
+ The maximum number of bytes to be read from the current stream.
+
+ The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
+
+
+ The sum of and is larger than the buffer length.
+
+
+
+ is null.
+
+
+
+ or is negative.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support reading.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+ The sum of and is greater than the buffer length.
+
+
+
+ is null.
+
+
+
+ or is negative.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support writing.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ Gets the decoded packets info.
+
+
+ This property is only valid for XWMA stream.
+
+
+
+ Gets the wave format of this instance.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports reading.
+
+ true if the stream supports reading; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
+
+ true if the stream supports seeking; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports writing.
+
+ true if the stream supports writing; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets or sets the position within the current stream.
+
+
+ The current position within the stream.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support seeking.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, gets the length in bytes of the stream.
+
+
+ A long value representing the length of the stream in bytes.
+
+
+
+ A class derived from Stream does not support seeking.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ WaveFormatAdpcm
+ http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.xaudio2.adpcmwaveformat%28v=vs.85%29.aspx
+ Additional documentation: http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm
+
+ WAVEFORMATADPCM
+
+
+
+ Represents a Wave file format
+
+ WAVEFORMATEX
+
+
+ format type
+
+
+ number of channels
+
+
+ sample rate
+
+
+ for buffer estimation
+
+
+ block size of data
+
+
+ number of bits per sample of mono data
+
+
+ number of following bytes
+
+
+
+ Creates a new PCM 44.1Khz stereo 16 bit format
+
+
+
+
+ Creates a new 16 bit wave format with the specified sample
+ rate and channel count
+
+ Sample Rate
+ Number of channels
+
+
+
+ Gets the size of a wave buffer equivalent to the latency in milliseconds.
+
+ The milliseconds.
+
+
+
+
+ Creates a WaveFormat with custom members
+
+ The encoding
+ Sample Rate
+ Number of channels
+ Average Bytes Per Second
+ Block Align
+ Bits Per Sample
+
+
+
+
+ Creates an A-law wave format
+
+ Sample Rate
+ Number of Channels
+ Wave Format
+
+
+
+ Creates a Mu-law wave format
+
+ Sample Rate
+ Number of Channels
+ Wave Format
+
+
+
+ Creates a new PCM format with the specified sample rate, bit depth and channels
+
+
+
+
+ Creates a new 32 bit IEEE floating point wave format
+
+ sample rate
+ number of channels
+
+
+
+ Helper function to retrieve a WaveFormat structure from a pointer
+
+ Buffer to the WaveFormat rawdata
+ WaveFormat structure
+
+
+
+ Helper function to retrieve a WaveFormat structure from a pointer
+
+ Pointer to the WaveFormat rawdata
+ WaveFormat structure
+
+
+
+ Helper function to marshal WaveFormat to an IntPtr
+
+ WaveFormat
+ IntPtr to WaveFormat structure (needs to be freed by callee)
+
+
+
+ Reads a new WaveFormat object from a stream
+
+ A binary reader that wraps the stream
+
+
+
+ Reports this WaveFormat as a string
+
+ String describing the wave format
+
+
+
+ Compares with another WaveFormat object
+
+ Object to compare to
+ True if the objects are the same
+
+
+
+ Provides a hash code for this WaveFormat
+
+ A hash code
+
+
+
+ Reads or writes data from/to the given binary serializer.
+
+ The binary serializer.
+
+
+
+ Returns the encoding type used
+
+
+
+
+ Returns the number of channels (1=mono,2=stereo etc)
+
+
+
+
+ Returns the sample rate (samples per second)
+
+
+
+
+ Returns the average number of bytes used per second
+
+
+
+
+ Returns the block alignment
+
+
+
+
+ Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8)
+ Can be 0 for some codecs
+
+
+
+
+ Returns the number of extra bytes used by this waveformat. Often 0,
+ except for compressed formats which store extra data after the WAVEFORMATEX header
+
+
+
+ number of following bytes
+
+
+ format type
+
+
+ number of channels
+
+
+ sample rate
+
+
+ for buffer estimation
+
+
+ block size of data
+
+
+ number of bits per sample of mono data
+
+
+
+ Parameterless constructor for marshalling
+
+
+
+
+ Creates a new WaveFormatAdpcm for MicrosoftADPCM
+
+ The rate.
+ The channels.
+ The block align. If 0, then 256 for [0, 11KHz], 512 for ]11KHz, 22Khz], 1024 for ]22Khz, +inf]
+
+
+
+ Gets or sets the samples per block.
+
+
+ The samples per block.
+
+
+
+
+ Gets or sets the coefficients.
+
+
+ The coefficients.
+
+
+
+
+ Gets or sets the coefficients.
+
+
+ The coefficients.
+
+
+
+
+ A FourCC descriptor.
+
+
+
+
+ Empty FourCC.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as a string .
+
+
+
+ Initializes a new instance of the struct.
+
+ The byte1.
+ The byte2.
+ The byte3.
+ The byte4.
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as an uint.
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as an int.
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ A chunk of a Riff stream.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The stream holding this chunk
+ The type.
+ The size.
+ The data offset.
+ if set to true [is list].
+ if set to true [is header].
+
+
+
+ Gets the raw data contained in this chunk.
+
+
+
+
+
+ Gets structured data contained in this chunk.
+
+ The type of the data to return
+
+ A structure filled with the chunk data
+
+
+
+
+ Gets structured data contained in this chunk.
+
+ The type of the data to return
+ A structure filled with the chunk data
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets the type.
+
+
+
+
+ Gets the of this chunk.
+
+
+
+
+ Gets the size of the data embedded by this chunk.
+
+
+
+
+ Gets the position of the data embedded by this chunk relative to the stream.
+
+
+
+
+ Gets or sets a value indicating whether this instance is a list chunk.
+
+
+ true if this instance is list; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a header chunk.
+
+
+ true if this instance is a header; otherwise, false.
+
+
+
+
+ Riff chunk enumerator.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The input.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Advances the enumerator to the next element of the collection.
+
+
+ true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Ascends to the outer chunk.
+
+
+
+
+ Descends to the current chunk.
+
+
+
+
+ Gets all chunks.
+
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Gets the current stack of chunks.
+
+
+
+
+ Gets the element in the collection at the current position of the enumerator.
+
+
+ The element in the collection at the current position of the enumerator.
+
+
+
+
+ Helper class for Speaker mask.
+
+
+
+
+ Counts the channels from a speaker mask.
+
+ The speakers mask.
+
+
+
+
+ WaveFormatExtensible
+ http://www.microsoft.com/whdc/device/audio/multichaud.mspx
+
+ WAVEFORMATEXTENSIBLE
+
+
+
+ Guid of the subformat.
+
+
+
+
+ Speaker configuration
+
+
+
+
+ Parameterless constructor for marshalling
+
+
+
+
+ Creates a new WaveFormatExtensible for PCM or IEEE
+
+
+
+
+ String representation
+
+
+
+
+ The namespace contains fundamental classes used by SharpDX.
+
+
+
+
+ A general purpose tag attribute.
+
+
+
+
+ Initializes a new instance of class.
+
+
+
+
+
+ Gets the value.
+
+
+
+
+ Overrides in order to provide for Win8 Modern App.
+
+
+
+
+
+ Provides a basic implementation to replace (not available on Win8 Modern App).
+
+
+
+
+ The namespace provides missing ASCIIEncoding for Win8 Modern platform.
+
+
+
+
+ This provides timing information similar to but an update occurring only on a method.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resets this instance. is set to zero.
+
+
+
+
+ Resumes this instance, only if a call to has been already issued.
+
+
+
+
+ Update the and ,
+
+
+ This method must be called on a regular basis at every *tick*.
+
+
+
+
+ Pauses this instance.
+
+
+
+
+ Converts a raw time to a .
+
+ The delta.
+ The .
+
+
+
+ Gets the total time elapsed since the last reset or when this timer was created.
+
+
+
+
+ Gets the elapsed adjusted time since the previous call to taking into account time.
+
+
+
+
+ Gets the elapsed time since the previous call to .
+
+
+
+
+ Gets a value indicating whether this instance is paused.
+
+ true if this instance is paused; otherwise, false.
+
+
+
+ Defines the viewport dimensions.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Width dimension of the viewport.
+
+
+
+
+ Height dimension of the viewport.
+
+
+
+
+ Gets or sets the minimum depth of the clip volume.
+
+
+
+
+ Gets or sets the maximum depth of the clip volume.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+ The minimum depth of the clip volume.
+ The maximum depth of the clip volume.
+
+
+
+ Initializes a new instance of the struct.
+
+ A bounding box that defines the location and size of the viewport in a render target.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified object is equal to this instance.
+
+ The object to compare with this instance.
+
+ true if the specified object is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Retrieves a string representation of this object.
+
+ A that represents this instance.
+
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ A combined WorldViewProjection matrix.
+ The projected vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ The projection matrix.
+ The view matrix.
+ The world matrix.
+ The unprojected Vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ An inverted combined WorldViewProjection matrix.
+ The unprojected vector.
+
+
+
+ Gets the size of this resource.
+
+ The bounds.
+
+
+
+ Gets the aspect ratio used by the viewport.
+
+ The aspect ratio.
+
+
+
+ Internal class to interact with Native Message
+
+
+
+
+ Represents a plane in three dimensional space.
+
+
+
+
+ The normal vector of the plane.
+
+
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+
+ Initializes a new instance of the class.
+
+ Any point that lies along the plane.
+ The normal vector to the plane.
+
+
+
+ Initializes a new instance of the struct.
+
+ The normal of the plane.
+ The distance of the plane along its normal from the origin
+
+
+
+ Initializes a new instance of the struct.
+
+ First point of a triangle defining the plane.
+ Second point of a triangle defining the plane.
+ Third point of a triangle defining the plane.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the A, B, C, and D components of the plane. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+
+
+
+ Creates an array containing the elements of the plane.
+
+ A four-element array containing the components of the plane.
+
+
+
+ Determines if there is an intersection between the current object and a point.
+
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the line of intersection
+ as a , or a zero ray if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Scales the plane by the given scaling factor.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ When the method completes, contains the scaled plane.
+
+
+
+ Scales the plane by the given scaling factor.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ The scaled plane.
+
+
+
+ Calculates the dot product of the specified vector and plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of the specified plane and vector.
+
+
+
+ Calculates the dot product of the specified vector and plane.
+
+ The source plane.
+ The source vector.
+ The dot product of the specified plane and vector.
+
+
+
+ Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of a specified vector and the normal of the Plane plus the distance value of the plane.
+
+
+
+ Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
+
+ The source plane.
+ The source vector.
+ The dot product of a specified vector and the normal of the Plane plus the distance value of the plane.
+
+
+
+ Calculates the dot product of the specified vector and the normal of the plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of the specified vector and the normal of the plane.
+
+
+
+ Calculates the dot product of the specified vector and the normal of the plane.
+
+ The source plane.
+ The source vector.
+ The dot product of the specified vector and the normal of the plane.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+ The source plane.
+ When the method completes, contains the normalized plane.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+ The source plane.
+ The normalized plane.
+
+
+
+ Transforms a normalized plane by a quaternion rotation.
+
+ The normalized source plane.
+ The quaternion rotation.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms a normalized plane by a quaternion rotation.
+
+ The normalized source plane.
+ The quaternion rotation.
+ The transformed plane.
+
+
+
+ Transforms an array of normalized planes by a quaternion rotation.
+
+ The array of normalized planes to transform.
+ The quaternion rotation.
+ Thrown when is null.
+
+
+
+ Transforms a normalized plane by a matrix.
+
+ The normalized source plane.
+ The transformation matrix.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms a normalized plane by a matrix.
+
+ The normalized source plane.
+ The transformation matrix.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms an array of normalized planes by a matrix.
+
+ The array of normalized planes to transform.
+ The transformation matrix.
+ Thrown when is null.
+
+
+
+ Scales a plane by the given value.
+
+ The amount by which to scale the plane.
+ The plane to scale.
+ The scaled plane.
+
+
+
+ Scales a plane by the given value.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ The scaled plane.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the A, B, C, or D component, depending on the index.
+ The index of the component to access. Use 0 for the A component, 1 for the B component, 2 for the C component, and 3 for the D component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a four dimensional mathematical quaternion.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The identity (0, 0, 0, 1).
+
+
+
+
+ The X component of the quaternion.
+
+
+
+
+ The Y component of the quaternion.
+
+
+
+
+ The Z component of the quaternion.
+
+
+
+
+ The W component of the quaternion.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the components.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X, Y, and Z components.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the quaternion.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the quaternion.
+ Initial value for the Y component of the quaternion.
+ Initial value for the Z component of the quaternion.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Conjugates the quaternion.
+
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+
+
+
+ Calculates the length of the quaternion.
+
+ The length of the quaternion.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the quaternion.
+
+ The squared length of the quaternion.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+
+
+
+ Creates an array containing the elements of the quaternion.
+
+ A four-element array containing the components of the quaternion.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ When the method completes, contains the sum of the two quaternions.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ The sum of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ When the method completes, contains the difference of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ The difference of the two quaternions.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ When the method completes, contains the scaled quaternion.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ When the method completes, contains the multiplied quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ The multiplied quaternion.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ When the method completes, contains a quaternion facing in the opposite direction.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ A quaternion facing in the opposite direction.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Conjugates a quaternion.
+
+ The quaternion to conjugate.
+ When the method completes, contains the conjugated quaternion.
+
+
+
+ Conjugates a quaternion.
+
+ The quaternion to conjugate.
+ The conjugated quaternion.
+
+
+
+ Calculates the dot product of two quaternions.
+
+ First source quaternion.
+ Second source quaternion.
+ When the method completes, contains the dot product of the two quaternions.
+
+
+
+ Calculates the dot product of two quaternions.
+
+ First source quaternion.
+ Second source quaternion.
+ The dot product of the two quaternions.
+
+
+
+ Exponentiates a quaternion.
+
+ The quaternion to exponentiate.
+ When the method completes, contains the exponentiated quaternion.
+
+
+
+ Exponentiates a quaternion.
+
+ The quaternion to exponentiate.
+ The exponentiated quaternion.
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+ The quaternion to conjugate and renormalize.
+ When the method completes, contains the conjugated and renormalized quaternion.
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+ The quaternion to conjugate and renormalize.
+ The conjugated and renormalized quaternion.
+
+
+
+ Performs a linear interpolation between two quaternions.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two quaternions.
+
+ This method performs the linear interpolation based on the following formula.
+ start + (end - start) * amount
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two quaternion.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two quaternions.
+
+ This method performs the linear interpolation based on the following formula.
+ start + (end - start) * amount
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Calculates the natural logarithm of the specified quaternion.
+
+ The quaternion whose logarithm will be calculated.
+ When the method completes, contains the natural logarithm of the quaternion.
+
+
+
+ Calculates the natural logarithm of the specified quaternion.
+
+ The quaternion whose logarithm will be calculated.
+ The natural logarithm of the quaternion.
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+ The quaternion to normalize.
+ When the method completes, contains the normalized quaternion.
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+
+ Creates a quaternion given a rotation and an axis.
+
+ The axis of rotation.
+ The angle of rotation.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation and an axis.
+
+ The axis of rotation.
+ The angle of rotation.
+ The newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The right vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The right vector of the quaternion
+ The newly created quaternion
+
+
+
+ Creates a quaternion given left-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given left-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given right-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given right-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ The newly created quaternion.
+
+
+
+ Creates a quaternion given a yaw, pitch, and roll value.
+
+ The yaw of rotation.
+ The pitch of rotation.
+ The roll of rotation.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a yaw, pitch, and roll value.
+
+ The yaw of rotation.
+ The pitch of rotation.
+ The roll of rotation.
+ The newly created quaternion.
+
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the spherical linear interpolation of the two quaternions.
+
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ The spherical linear interpolation of the two quaternions.
+
+
+
+ Interpolates between quaternions, using spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ Value between 0 and 1 indicating the weight of interpolation.
+ When the method completes, contains the spherical quadrangle interpolation of the quaternions.
+
+
+
+ Interpolates between quaternions, using spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ Value between 0 and 1 indicating the weight of interpolation.
+ The spherical quadrangle interpolation of the quaternions.
+
+
+
+ Sets up control points for spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ An array of three quaternions that represent control points for spherical quadrangle interpolation.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ The sum of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ The difference of the two quaternions.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ A quaternion facing in the opposite direction.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ The multiplied quaternion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is equivalent to the identity quaternion.
+
+
+ true if this instance is an identity quaternion; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets the angle of the quaternion.
+
+ The quaternion's angle.
+
+
+
+ Gets the axis components of the quaternion.
+
+ The axis components of the quaternion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a three dimensional line based on a point in space and a direction.
+
+
+
+
+ The position in three dimensional space where the ray starts.
+
+
+
+
+ The normalized direction in which the ray points.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The position in three dimensional space of the origin of the ray.
+ The normalized direction of the ray.
+
+
+
+ Determines if there is an intersection between the current object and a point.
+
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Calculates a world space from 2d screen coordinates.
+
+ X coordinate on 2d screen.
+ Y coordinate on 2d screen.
+ .
+ Transformation .
+ Resulting .
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Define a Rectangle. This structure is slightly different from System.Drawing.Rectangle as it is
+ internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height.
+
+
+
+
+ An empty rectangle.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The left.
+ The top.
+ The width.
+ The height.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ Change in the x-position.
+ Change in the y-position.
+
+
+ Pushes the edges of the rectangle out by the horizontal and vertical values specified.
+ Value to push the sides out by.
+ Value to push the top and bottom out by.
+
+
+ Determines whether this rectangle contains a specified point represented by its x- and y-coordinates.
+ The x-coordinate of the specified point.
+ The y-coordinate of the specified point.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+ [OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+ [OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.
+
+
+
+ Checks, if specified point is inside .
+
+ X point coordinate.
+ Y point coordinate.
+ true if point is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+ The rectangle to evaluate.
+
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+
+ The rectangle to evaluate
+ [OutAttribute] true if the specified rectangle intersects with this one; false otherwise.
+
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+
+ The first rectangle to compare.
+ The second rectangle to compare.
+ The intersection rectangle.
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+ The first rectangle to compare.
+ The second rectangle to compare.
+ [OutAttribute] The area where the two first parameters overlap.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ The union rectangle.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ [OutAttribute] The rectangle that must be the union of the first two rectangles.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an implicit conversion to the structure.
+
+ Performs direct converstion from int to float.
+ The source value.
+ The converted structure.
+
+
+
+
+
+
+ Gets or sets the left.
+
+ The left.
+
+
+
+ Gets or sets the top.
+
+ The top.
+
+
+
+ Gets or sets the right.
+
+ The right.
+
+
+
+ Gets or sets the bottom.
+
+ The bottom.
+
+
+
+ Gets or sets the X position.
+
+ The X position.
+
+
+
+ Gets or sets the Y position.
+
+ The Y position.
+
+
+
+ Gets or sets the width.
+
+ The width.
+
+
+
+ Gets or sets the height.
+
+ The height.
+
+
+
+ Gets or sets the location.
+
+
+ The location.
+
+
+
+
+ Gets the Point that specifies the center of the rectangle.
+
+
+ The center.
+
+
+
+
+ Gets a value that indicates whether the rectangle is empty.
+
+
+ true if [is empty]; otherwise, false.
+
+
+
+
+ Gets or sets the size of the rectangle.
+
+ The size of the rectangle.
+
+
+
+ Gets the position of the top-left corner of the rectangle.
+
+ The top-left corner of the rectangle.
+
+
+
+ Gets the position of the top-right corner of the rectangle.
+
+ The top-right corner of the rectangle.
+
+
+
+ Gets the position of the bottom-left corner of the rectangle.
+
+ The bottom-left corner of the rectangle.
+
+
+
+ Gets the position of the bottom-right corner of the rectangle.
+
+ The bottom-right corner of the rectangle.
+
+
+
+ Define a RectangleF. This structure is slightly different from System.Drawing.RectangleF as it is
+ internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height.
+
+
+
+
+ An empty rectangle
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The left.
+ The top.
+ The width.
+ The height.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ Change in the x-position.
+ Change in the y-position.
+
+
+ Pushes the edges of the rectangle out by the horizontal and vertical values specified.
+ Value to push the sides out by.
+ Value to push the top and bottom out by.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+ [OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+ [OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.
+
+
+
+ Checks, if specified point is inside .
+
+ X point coordinate.
+ Y point coordinate.
+ true if point is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+ The rectangle to evaluate.
+
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+
+ The rectangle to evaluate
+ [OutAttribute] true if the specified rectangle intersects with this one; false otherwise.
+
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+
+ The first Rectangle to compare.
+ The second Rectangle to compare.
+ The intersection rectangle.
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+ The first rectangle to compare.
+ The second rectangle to compare.
+ [OutAttribute] The area where the two first parameters overlap.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ The union rectangle.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ [OutAttribute] The rectangle that must be the union of the first two rectangles.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an explicit conversion to structure.
+
+ Performs direct float to int conversion, any fractional data is truncated.
+ The source value.
+ A converted structure.
+
+
+
+
+
+
+ Gets or sets the X position of the left edge.
+
+ The left.
+
+
+
+ Gets or sets the top.
+
+ The top.
+
+
+
+ Gets or sets the right.
+
+ The right.
+
+
+
+ Gets or sets the bottom.
+
+ The bottom.
+
+
+
+ Gets or sets the X position.
+
+ The X position.
+
+
+
+ Gets or sets the Y position.
+
+ The Y position.
+
+
+
+ Gets or sets the width.
+
+ The width.
+
+
+
+ Gets or sets the height.
+
+ The height.
+
+
+
+ Gets or sets the location.
+
+
+ The location.
+
+
+
+
+ Gets the Point that specifies the center of the rectangle.
+
+
+ The center.
+
+
+
+
+ Gets a value that indicates whether the rectangle is empty.
+
+
+ true if [is empty]; otherwise, false.
+
+
+
+
+ Gets or sets the size of the rectangle.
+
+ The size of the rectangle.
+
+
+
+ Gets the position of the top-left corner of the rectangle.
+
+ The top-left corner of the rectangle.
+
+
+
+ Gets the position of the top-right corner of the rectangle.
+
+ The top-right corner of the rectangle.
+
+
+
+ Gets the position of the bottom-left corner of the rectangle.
+
+ The bottom-left corner of the rectangle.
+
+
+
+ Gets the position of the bottom-right corner of the rectangle.
+
+ The bottom-right corner of the rectangle.
+
+
+
+ Result structure for COM methods.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The HRESULT error code.
+
+
+
+ Initializes a new instance of the struct.
+
+ The HRESULT error code.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+ An object to compare with this object.
+
+ true if the current object is equal to the parameter; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Checks the error.
+
+
+
+
+ Gets a from an .
+
+ The exception
+ The associated result code
+
+
+
+ Gets the result from win32 error.
+
+ The win32Error.
+ A HRESULT.
+
+
+
+ Result code Ok
+
+ S_OK
+
+
+
+ Result code False
+
+ S_FALSE
+
+
+
+ Result code Abort
+
+ E_ABORT
+
+
+
+ Result code AccessDenied
+
+ E_ACCESSDENIED
+
+
+
+ Result code Fail
+
+ E_FAIL
+
+
+
+ Result code Handle
+
+ E_HANDLE
+
+
+
+ Result code invalid argument
+
+ E_INVALIDARG
+
+
+
+ Result code no interface
+
+ E_NOINTERFACE
+
+
+
+ Result code not implemented
+
+ E_NOTIMPL
+
+
+
+ Result code out of memory
+
+ E_OUTOFMEMORY
+
+
+
+ Result code Invalid pointer
+
+ E_POINTER
+
+
+
+ Unexpected failure
+
+ E_UNEXPECTED
+
+
+
+ Result of a wait abandonned.
+
+ WAIT_ABANDONED
+
+
+
+ Result of a wait timeout.
+
+ WAIT_TIMEOUT
+
+
+
+ Gets the HRESULT error code.
+
+ The HRESULT error code.
+
+
+
+ Gets a value indicating whether this is success.
+
+ true if success; otherwise, false.
+
+
+
+ Gets a value indicating whether this is failure.
+
+ true if failure; otherwise, false.
+
+
+
+ The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer.
+ Equivalent to Windows type SIZE_T.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The size.
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Adds two sizes.
+
+ The first size to add.
+ The second size to add.
+ The sum of the two sizes.
+
+
+
+ Assert a size (return it unchanged).
+
+ The size to assert (unchanged).
+ The asserted (unchanged) size.
+
+
+
+ Subtracts two sizes.
+
+ The first size to subtract.
+ The second size to subtract.
+ The difference of the two sizes.
+
+
+
+ Reverses the direction of a given size.
+
+ The size to negate.
+ A size facing in the opposite direction.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from void* to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to void*.
+
+ The value.
+ The result of the conversion.
+
+
+
+ A Delegate to get a property value from an object.
+
+ Type of the getter.
+ The obj to get the property from.
+ The value to get.
+
+
+
+ A Delegate to set a property value to an object.
+
+ Type of the setter.
+ The obj to set the property from.
+ The value to set.
+
+
+
+ Utility class.
+
+
+
+
+ Native memcpy.
+
+ The destination memory location.
+ The source memory location.
+ The byte count.
+
+
+
+ Compares two block of memory.
+
+ The pointer to compare from.
+ The pointer to compare against.
+ The size in bytes to compare.
+ true if the buffers are equivalent; otherwise, false.
+
+
+
+ Clears the memory.
+
+ The dest.
+ The value.
+ The size in bytes to clear.
+
+
+
+ Return the sizeof a struct from a CLR. Equivalent to sizeof operator but works on generics too.
+
+ A struct to evaluate.
+ Size of this struct.
+
+
+
+ Return the sizeof an array of struct. Equivalent to sizeof operator but works on generics too.
+
+ A struct.
+ The array of struct to evaluate.
+ Size in bytes of this array of struct.
+
+
+
+ Pins the specified source and call an action with the pinned pointer.
+
+ The type of the structure to pin.
+ The source.
+ The pin action to perform on the pinned pointer.
+
+
+
+ Pins the specified source and call an action with the pinned pointer.
+
+ The type of the structure to pin.
+ The source array.
+ The pin action to perform on the pinned pointer.
+
+
+
+ Converts a structured array to an equivalent byte array.
+
+ The type of source array.
+ The source array.
+ Converted byte array.
+
+
+
+ Swaps the value between two references.
+
+ Type of a data to swap.
+ The left value.
+ The right value.
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data read from the memory location.
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified array T[] data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ The offset in the array to write to.
+ The number of T element to read from the memory location.
+ source pointer + sizeof(T) * count.
+
+
+
+ Writes the specified T data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The data to write.
+ destination pointer + sizeof(T).
+
+
+
+ Writes the specified T data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The data to write.
+ destination pointer + sizeof(T).
+
+
+
+ Writes the specified array T[] data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The array of T data to write.
+ The offset in the array to read from.
+ The number of T element to write to the memory location.
+ destination pointer + sizeof(T) * count.
+
+
+
+ Converts bool array to integer pointers array.
+
+ The bool array.
+ The destination array of int pointers.
+
+
+
+ Converts bool array to array.
+
+ The bool array.
+ Converted array of .
+
+
+
+ Converts integer pointer array to bool array.
+
+ The array of integer pointers.
+ Array size.
+ Converted array of bool.
+
+
+
+ Converts array to bool array.
+
+ The array.
+ Converted array of bool.
+
+
+
+ Gets the from a type.
+
+ The type.
+ The guid associated with this type.
+
+
+
+ Determines whether a given type inherits from a generic type.
+
+ Type of the class to check if it inherits from generic type.
+ Type of the generic.
+ true if [is assignable to generic type] [the specified given type]; otherwise, false.
+
+
+
+ Allocate an aligned memory buffer.
+
+ Size of the buffer to allocate.
+ Alignment, 16 bytes by default.
+ A pointer to a buffer aligned.
+
+ To free this buffer, call .
+
+
+
+
+ Allocate an aligned memory buffer and clear it with a specified value (0 by default).
+
+ Size of the buffer to allocate.
+ Default value used to clear the buffer.
+ Alignment, 16 bytes by default.
+ A pointer to a buffer aligned.
+
+ To free this buffer, call .
+
+
+
+
+ Determines whether the specified memory pointer is aligned in memory.
+
+ The memory pointer.
+ The align.
+ true if the specified memory pointer is aligned in memory; otherwise, false.
+
+
+
+ Allocate an aligned memory buffer.
+
+ A pointer to a buffer aligned.
+
+ The buffer must have been allocated with .
+
+
+
+
+ Converts a pointer to a null-terminating string up to maxLength characters to a .Net string.
+
+ The pointer to an ANSI null string.
+ Maximum length of the string.
+ The converted string.
+
+
+
+ Converts a pointer to a null-terminating string up to maxLength characters to a .Net string.
+
+ The pointer to an Unicode null string.
+ Maximum length of the string.
+ The converted string.
+
+
+
+ Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Copies the contents of a managed String into unmanaged memory.
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Copies the contents of a managed String into unmanaged memory using
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Gets the IUnknown from object. Similar to but accept null object
+ by returning an IntPtr.Zero IUnknown pointer.
+
+ The managed object.
+ An IUnknown pointer to a managed object.
+
+
+
+ Gets an object from an IUnknown pointer. Similar to but accept IntPtr.Zero
+ by returning a null object.
+
+ an IUnknown pointer to a managed object.
+ The managed object.
+
+
+
+ String helper join method to display an array of object as a single string.
+
+ The separator.
+ The array.
+ A string with array elements separated by the separator.
+
+
+
+ String helper join method to display an enumerable of object as a single string.
+
+ The separator.
+ The enumerable.
+ A string with array elements separated by the separator.
+
+
+
+ String helper join method to display an enumerable of object as a single string.
+
+ The separator.
+ The enumerable.
+ A string with array elements separated by the separator.
+
+
+
+ Converts a blob to a string.
+
+ A blob.
+ A string extracted from a blob.
+
+
+
+ Equivalent to IntPtr.Add method from 3.5+ .NET Framework.
+ Adds an offset to the value of a pointer.
+
+ A native pointer.
+ The offset to add (number of bytes).
+ A new pointer that reflects the addition of offset to pointer.
+
+
+
+ Read stream to a byte[] buffer.
+
+ Input stream.
+ A byte[] buffer.
+
+
+
+ Read stream to a byte[] buffer.
+
+ Input stream.
+ Length to read.
+ A byte[] buffer.
+
+
+
+ Compares two collection, element by elements.
+
+ A "from" enumerator.
+ A "to" enumerator.
+ true if lists are identical, false otherwise.
+
+
+
+ Compares two collection, element by elements.
+
+ A "from" enumerator.
+ A "to" enumerator.
+ true if lists are identical; otherwise, false.
+
+
+
+ Compares two collection, element by elements.
+
+ The collection to compare from.
+ The collection to compare to.
+ true if lists are identical (but not necessarily of the same time); otherwise , false.
+
+
+
+ Gets the custom attribute.
+
+ Type of the custom attribute.
+ The member info.
+ if set to true [inherited].
+ The custom attribute or null if not found.
+
+
+
+ Gets the custom attributes.
+
+ Type of the custom attribute.
+ The member info.
+ if set to true [inherited].
+ The custom attribute or null if not found.
+
+
+
+ Determines whether fromType can be assigned to toType.
+
+ To type.
+ From type.
+
+ true if [is assignable from] [the specified to type]; otherwise, false.
+
+
+
+
+ Determines whether the specified type to test is an enum.
+
+ The type to test.
+
+ true if the specified type to test is an enum; otherwise, false.
+
+
+
+
+ Determines whether the specified type to test is a value type.
+
+ The type to test.
+
+ true if the specified type to test is a value type; otherwise, false.
+
+
+
+
+ Builds a fast property getter from a type and a property info.
+
+ Type of the getter.
+ Type of the custom effect.
+ The property info to get the value from.
+ A compiled delegate.
+
+
+
+ Builds a fast property setter from a type and a property info.
+
+ Type of the setter.
+ Type of the custom effect.
+ The property info to set the value to.
+ A compiled delegate.
+
+
+
+ Suspends the current thread of a .
+
+ The duration to sleep in milliseconds.
+
+
+
+ Finds an explicit conversion between a source type and a target type.
+
+ Type of the source.
+ Type of the target.
+ The method to perform the conversion. null if not found.
+
+
+
+ Loads a native library.
+
+ Name of the DLL.
+ If DLL was not found.
+ Handle to the module.
+
+
+
+ Gets the proc address of a DLL.
+
+ The handle.
+ The DLL function to import.
+ If the function was not found.
+ Pointer to address of the exported function or variable.
+
+
+
+ Compute a FNV1-modified Hash from Fowler/Noll/Vo Hash improved version.
+
+ Data to compute the hash from.
+ A hash value.
+
+
+
+ Safely dispose a reference if not null, and set it to null after dispose.
+
+ The type of COM interface to dispose.
+ Object to dispose.
+
+ The reference will be set to null after dispose.
+
+
+
+
+ Transforms an to an array of T.
+
+ Type of the element
+ The enumerable source.
+ an array of T
+
+
+
+ Test if there is an element in this enumeration.
+
+ Type of the element
+ The enumerable source.
+ true if there is an element in this enumeration, false otherwise
+
+
+
+ Select elements from an enumeration.
+
+ The type of the T source.
+ The type of the T result.
+ The source.
+ The selector.
+ A enumeration of selected values
+
+
+
+ Selects distinct elements from an enumeration.
+
+ The type of the T source.
+ The source.
+ The comparer.
+ A enumeration of selected values
+
+
+
+ Determines whether the type inherits from the specified type (used to determine a type without using an explicit type instance).
+
+ The type.
+ Name of the parent type to find in inheritance hierarchy of type.
+ true if the type inherits from the specified type; otherwise, false.
+
+
+ Determines the concurrency model used for incoming calls to objects created by this thread. This concurrency model can be either apartment-threaded or multi-threaded.
+
+
+
+ Initializes the thread for apartment-threaded object concurrency.
+
+
+
+
+ Initializes the thread for multi-threaded object concurrency.
+
+
+
+
+ Disables DDE for OLE1 support.
+
+
+
+
+ Trade memory for speed.
+
+
+
+
+ Represents a two dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0).
+
+
+
+
+ The Y unit (0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X and Y components of the vector. This must be an array with two elements.
+ Thrown when is null.
+ Thrown when contains more or less than two elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A two-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 2D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 2D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Saturates this instance in the range [0,1]
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ When the method completes, contains the reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ The reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 2D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 2D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 2D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 2D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 2D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ When the method completes, contains the transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ The transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation on an array of vectors using the given .
+
+ The array of coordinate vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ When the method completes, contains the transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ The transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation on an array of vectors using the given .
+
+ The array of normal vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X or Y component, depending on the index.
+ The index of the component to access. Use 0 for the X component and 1 for the Y component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 1].
+
+
+
+ Represents a three dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0).
+
+
+
+
+ The Z unit (0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ A unit designating up (0, 1, 0).
+
+
+
+
+ A unit designating down (0, -1, 0).
+
+
+
+
+ A unit designating left (-1, 0, 0).
+
+
+
+
+ A unit designating right (1, 0, 0).
+
+
+
+
+ A unit designating forward in a right-handed coordinate system (0, 0, -1).
+
+
+
+
+ A unit designating forward in a left-handed coordinate system (0, 0, 1).
+
+
+
+
+ A unit designating backward in a right-handed coordinate system (0, 0, 1).
+
+
+
+
+ A unit designating backward in a left-handed coordinate system (0, 0, -1).
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.
+ Thrown when is null.
+ Thrown when contains more or less than three elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A three-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiply a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiply a vector with another by performing component-wise multiplication.
+
+ The first vector to Multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
+
+ A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 3D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
+
+ A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 3D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Calculates the cross product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains he cross product of the two vectors.
+
+
+
+ Calculates the cross product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The cross product of the two vectors.
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Tests whether one 3D vector is near another 3D vector.
+
+ The left vector.
+ The right vector.
+ The epsilon.
+ true if left and right are near another 3D, false otherwise
+
+
+
+ Tests whether one 3D vector is near another 3D vector.
+
+ The left vector.
+ The right vector.
+ The epsilon.
+ true if left and right are near another 3D, false otherwise
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ When the method completes, contains the vector in screen space.
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ The vector in screen space.
+
+
+
+ Projects a 3D vector from screen space into object space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ When the method completes, contains the vector in object space.
+
+
+
+ Projects a 3D vector from screen space into object space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ The vector in object space.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ When the method completes, contains the reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ The reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 3D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 3D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ When the method completes, contains the transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ The transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation on an array of vectors using the given .
+
+ The array of coordinate vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ When the method completes, contains the transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ The transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation on an array of vectors using the given .
+
+ The array of normal vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with added scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, or Z component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 2].
+
+
+
+ Represents a four dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0, 0).
+
+
+
+
+ The Z unit (0, 0, 1, 0).
+
+
+
+
+ The W unit (0, 0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X, Y, and Z components.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 4D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 4D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 4D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Internal FontFileEnumerator callback
+
+
+
+
+ Internal FontFileEnumerator Callback
+
+
+
+ HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead)
+
+
+ HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten)
+
+
+
+ Callbacks to pointer.
+
+ The stream.
+
+
+
+ HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition)
+
+
+ HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize)
+
+
+ HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out, Optional] ULARGE_INTEGER* pcbRead,[Out, Optional] ULARGE_INTEGER* pcbWritten)
+
+
+ HRESULT IStream::Commit([In] STGC grfCommitFlags)
+
+
+ HRESULT IStream::Revert()
+
+
+ HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+
+
+ HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+
+
+ HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag)
+
+
+ HRESULT IStream::Clone([Out] IStream** ppstm)
+
+
+
+ Converts a win32 error code to a .
+
+ The error code.
+ A HRESULT code
+
+
+
+ Converts a win32 error code to a .
+
+ The error code.
+ A HRESULT code
+
+
+
+ The namespace contains common enumerations, structures and helper classes for Win32 low-level API.
+
+
+
+
+ Security attributes.
+
+ SECURITY_ATTRIBUTES
+
+
+
+ Length.
+
+
+
+
+ Descriptor.
+
+
+
+
+ Gets or sets a value indicating whether [inherit handle].
+
+
+ true if [inherit handle]; otherwise, false.
+
+
+
+
+ Variant COM.
+
+ PROPVARIANT
+
+
+
+ Gets the type of the element.
+
+
+ The type of the element.
+
+
+
+
+ Gets the type.
+
+
+
+
+ Gets or sets the value.
+
+
+ The value.
+
+
+
+
+ Type of a simple variant value.
+
+
+
+
+ Type of a variant
+
+
+
+
+ Simple value
+
+
+
+
+ Vector value.
+
+
+
+
+ Array value.
+
+
+
+
+ By reference.
+
+
+
+
+ Reserved value.
+
+
+
+
+ The namespace contains basic controls used to render DirectX content.
+
+
+
+
diff --git a/Externals/SharpDX/WP8/x86/SharpDX.WP8.winmd b/Externals/SharpDX/WP8/x86/SharpDX.WP8.winmd
new file mode 100644
index 000000000..dfcd20865
Binary files /dev/null and b/Externals/SharpDX/WP8/x86/SharpDX.WP8.winmd differ
diff --git a/Externals/SharpDX/WP8/x86/SharpDX.dll b/Externals/SharpDX/WP8/x86/SharpDX.dll
new file mode 100644
index 000000000..35720d371
Binary files /dev/null and b/Externals/SharpDX/WP8/x86/SharpDX.dll differ
diff --git a/Externals/SharpDX/WP8/x86/SharpDX.xml b/Externals/SharpDX/WP8/x86/SharpDX.xml
new file mode 100644
index 000000000..7a0f74bf1
--- /dev/null
+++ b/Externals/SharpDX/WP8/x86/SharpDX.xml
@@ -0,0 +1,50926 @@
+
+
+
+ SharpDX
+
+
+
+
+ Represents a unit independent angle using a single-precision floating-point
+ internal representation.
+
+
+
+
+ Implement this interface to serialize datas with .
+
+
+
+
+ Reads or writes datas from/to the given binary serializer.
+
+ The binary serializer.
+
+
+
+ A value that specifies the size of a single degree.
+
+
+
+
+ A value that specifies the size of a single minute.
+
+
+
+
+ A value that specifies the size of a single second.
+
+
+
+
+ A value that specifies the size of a single radian.
+
+
+
+
+ A value that specifies the size of a single milliradian.
+
+
+
+
+ A value that specifies the size of a single gradian.
+
+
+
+
+ The internal representation of the angle.
+
+
+
+
+ Initializes a new instance of the SharpDX.AngleSingle structure with the
+ given unit dependant angle and unit type.
+
+ A unit dependant measure of the angle.
+ The type of unit the angle argument is.
+
+
+
+ Initializes a new instance of the SharpDX.AngleSingle structure using the
+ arc length formula (θ = s/r).
+
+ The measure of the arc.
+ The radius of the circle.
+
+
+
+ Wraps this SharpDX.AngleSingle to be in the range [Ï€, -Ï€].
+
+
+
+
+ Wraps this SharpDX.AngleSingle to be in the range [0, 2Ï€).
+
+
+
+
+ Wraps the SharpDX.AngleSingle given in the value argument to be in the range [Ï€, -Ï€].
+
+ A SharpDX.AngleSingle to wrap.
+ The SharpDX.AngleSingle that is wrapped.
+
+
+
+ Wraps the SharpDX.AngleSingle given in the value argument to be in the range [0, 2Ï€).
+
+ A SharpDX.AngleSingle to wrap.
+ The SharpDX.AngleSingle that is wrapped.
+
+
+
+ Compares two SharpDX.AngleSingle instances and returns the smaller angle.
+
+ The first SharpDX.AngleSingle instance to compare.
+ The second SharpDX.AngleSingle instance to compare.
+ The smaller of the two given SharpDX.AngleSingle instances.
+
+
+
+ Compares two SharpDX.AngleSingle instances and returns the greater angle.
+
+ The first SharpDX.AngleSingle instance to compare.
+ The second SharpDX.AngleSingle instance to compare.
+ The greater of the two given SharpDX.AngleSingle instances.
+
+
+
+ Adds two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to add.
+ The second object to add.
+ The value of the two objects added together.
+
+
+
+ Subtracts two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to subtract.
+ The second object to subtract.
+ The value of the two objects subtracted.
+
+
+
+ Multiplies two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to multiply.
+ The second object to multiply.
+ The value of the two objects multiplied together.
+
+
+
+ Divides two SharpDX.AngleSingle objects and returns the result.
+
+ The numerator object.
+ The denominator object.
+ The value of the two objects divided.
+
+
+
+ Returns a System.Boolean that indicates whether the values of two SharpDX.Angle
+ objects are equal.
+
+ The first object to compare.
+ The second object to compare.
+ True if the left and right parameters have the same value; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether the values of two SharpDX.Angle
+ objects are not equal.
+
+ The first object to compare.
+ The second object to compare.
+ True if the left and right parameters do not have the same value; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is less than another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is less than right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is greater than another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is greater than right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is less than or equal to another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is less than or equal to right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is greater than or equal to another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is greater than or equal to right; otherwise, false.
+
+
+
+ Returns the value of the SharpDX.AngleSingle operand. (The sign of
+ the operand is unchanged.)
+
+ A SharpDX.AngleSingle object.
+ The value of the value parameter.
+
+
+
+ Returns the the negated value of the SharpDX.AngleSingle operand.
+
+ A SharpDX.AngleSingle object.
+ The negated value of the value parameter.
+
+
+
+ Adds two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to add.
+ The second object to add.
+ The value of the two objects added together.
+
+
+
+ Subtracts two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to subtract
+ The second object to subtract.
+ The value of the two objects subtracted.
+
+
+
+ Multiplies two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to multiply.
+ The second object to multiply.
+ The value of the two objects multiplied together.
+
+
+
+ Divides two SharpDX.AngleSingle objects and returns the result.
+
+ The numerator object.
+ The denominator object.
+ The value of the two objects divided.
+
+
+
+ Compares this instance to a specified object and returns an integer that
+ indicates whether the value of this instance is less than, equal to, or greater
+ than the value of the specified object.
+
+ The object to compare.
+
+ A signed integer that indicates the relationship of the current instance
+ to the obj parameter. If the value is less than zero, the current instance
+ is less than the other. If the value is zero, the current instance is equal
+ to the other. If the value is greater than zero, the current instance is
+ greater than the other.
+
+
+
+
+ Compares this instance to a second SharpDX.AngleSingle and returns
+ an integer that indicates whether the value of this instance is less than,
+ equal to, or greater than the value of the specified object.
+
+ The object to compare.
+
+ A signed integer that indicates the relationship of the current instance
+ to the obj parameter. If the value is less than zero, the current instance
+ is less than the other. If the value is zero, the current instance is equal
+ to the other. If the value is greater than zero, the current instance is
+ greater than the other.
+
+
+
+
+ Returns a value that indicates whether the current instance and a specified
+ SharpDX.AngleSingle object have the same value.
+
+ The object to compare.
+
+ Returns true if this SharpDX.AngleSingle object and another have the same value;
+ otherwise, false.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this SharpDX.AngleSingle instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+ Returns a value that indicates whether the current instance and a specified
+ object have the same value.
+
+ The object to compare.
+
+ Returns true if the obj parameter is a SharpDX.AngleSingle object or a type
+ capable of implicit conversion to a SharpDX.AngleSingle value, and
+ its value is equal to the value of the current SharpDX.Angle
+ object; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the total number of revolutions this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the total number of degrees this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the minutes component of the degrees this SharpDX.AngleSingle represents.
+ When setting the minutes, if the value is in the range (-60, 60) the whole degrees are
+ not changed; otherwise, the whole degrees may be changed. Fractional values may set
+ the seconds component.
+
+
+
+
+ Gets or sets the seconds of the degrees this SharpDX.AngleSingle represents.
+ When setting the seconds, if the value is in the range (-60, 60) the whole minutes
+ or whole degrees are not changed; otherwise, the whole minutes or whole degrees
+ may be changed.
+
+
+
+
+ Gets or sets the total number of radians this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the total number of milliradians this SharpDX.AngleSingle represents.
+ One milliradian is equal to 1/(2000Ï€).
+
+
+
+
+ Gets or sets the total number of gradians this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a right angle (i.e. 90° or π/2).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a straight angle (i.e. 180° or π).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a full rotation angle (i.e. 360° or 2π).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an oblique angle (i.e. is not 90° or a multiple of 90°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an acute angle (i.e. less than 90° but greater than 0°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an obtuse angle (i.e. greater than 90° but less than 180°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a reflex angle (i.e. greater than 180° but less than 360°).
+
+
+
+
+ Gets a SharpDX.AngleSingle instance that complements this angle (i.e. the two angles add to 90°).
+
+
+
+
+ Gets a SharpDX.AngleSingle instance that supplements this angle (i.e. the two angles add to 180°).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the zero angle (i.e. 0°).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the right angle (i.e. 90° or π/2).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the straight angle (i.e. 180° or π).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the full rotation angle (i.e. 360° or 2π).
+
+
+
+
+ A boolean value stored on 4 bytes (instead of 1 in .NET).
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [bool value].
+
+
+
+ Indicates whether this instance and a specified object are equal.
+
+ The other.
+ true if and this instance are the same type and represent the same value; otherwise, false.
+
+
+
+ Implements the ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+
+
+
+ Represents an axis-aligned bounding box in three dimensional space.
+
+
+
+
+ The minimum point of the box.
+
+
+
+
+ The maximum point of the box.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The minimum vertex of the bounding box.
+ The maximum vertex of the bounding box.
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the box.
+ When the method completes, contains the newly constructed bounding box.
+ Thrown when is null.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the box.
+ The newly constructed bounding box.
+ Thrown when is null.
+
+
+
+ Constructs a from a given sphere.
+
+ The sphere that will designate the extents of the box.
+ When the method completes, contains the newly constructed bounding box.
+
+
+
+ Constructs a from a given sphere.
+
+ The sphere that will designate the extents of the box.
+ The newly constructed bounding box.
+
+
+
+ Constructs a that is as large as the total combined area of the two specified boxes.
+
+ The first box to merge.
+ The second box to merge.
+ When the method completes, contains the newly constructed bounding box.
+
+
+
+ Constructs a that is as large as the total combined area of the two specified boxes.
+
+ The first box to merge.
+ The second box to merge.
+ The newly constructed bounding box.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Defines a frustum which can be used in frustum culling, zoom to Extents (zoom to fit) operations,
+ (matrix, frustum, camera) interchange, and many kind of intersection testing.
+
+
+
+
+ Creates a new instance of BoundingFrustum.
+
+ Combined matrix that usually takes view × projection matrix.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Returns one of the 6 planes related to this frustum.
+
+ Plane index where 0 fro Left, 1 for Right, 2 for Top, 3 for Bottom, 4 for Near, 5 for Far
+
+
+
+
+ Creates a new frustum relaying on perspective camera parameters
+
+ The camera pos.
+ The look dir.
+ Up dir.
+ The fov.
+ The znear.
+ The zfar.
+ The aspect.
+ The bounding frustum calculated from perspective camera
+
+
+
+ Creates a new frustum relaying on perspective camera parameters
+
+ The camera params.
+ The bounding frustum from camera params
+
+
+
+ Returns the 8 corners of the frustum, element0 is Near1 (near right down corner)
+ , element1 is Near2 (near right top corner)
+ , element2 is Near3 (near Left top corner)
+ , element3 is Near4 (near Left down corner)
+ , element4 is Far1 (far right down corner)
+ , element5 is Far2 (far right top corner)
+ , element6 is Far3 (far left top corner)
+ , element7 is Far4 (far left down corner)
+
+ The 8 corners of the frustum
+
+
+
+ Returns the 8 corners of the frustum, element0 is Near1 (near right down corner)
+ , element1 is Near2 (near right top corner)
+ , element2 is Near3 (near Left top corner)
+ , element3 is Near4 (near Left down corner)
+ , element4 is Far1 (far right down corner)
+ , element5 is Far2 (far right top corner)
+ , element6 is Far3 (far left top corner)
+ , element7 is Far4 (far left down corner)
+
+ The 8 corners of the frustum
+
+
+
+ Extracts perspective camera parameters from the frustum, doesn't work with orthographic frustums.
+
+ Perspective camera parameters from the frustum
+
+
+
+ Checks whether a point lay inside, intersects or lay outside the frustum.
+
+ The point.
+ Type of the containment
+
+
+
+ Checks whether a point lay inside, intersects or lay outside the frustum.
+
+ The point.
+ Type of the containment
+
+
+
+ Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint).
+
+ The points.
+ Type of the containment
+
+
+
+ Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint).
+
+ The points.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingSphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingSphere.
+
+ The sphere.
+ Set to true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingBox.
+
+ The box.
+ true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingBox.
+
+ The box.
+ true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Plane.
+
+ The plane.
+ Plane intersection type.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Plane.
+
+ The plane.
+ Plane intersection type.
+
+
+
+ Get the width of the frustum at specified depth.
+
+ the depth at which to calculate frustum width.
+ With of the frustum at the specified depth
+
+
+
+ Get the height of the frustum at specified depth.
+
+ the depth at which to calculate frustum height.
+ Height of the frustum at the specified depth
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Ray.
+
+ The ray.
+ true if the current BoundingFrustum intersects the specified Ray.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Ray.
+
+ The Ray to check for intersection with.
+ The distance at which the ray enters the frustum if there is an intersection and the ray starts outside the frustum.
+ The distance at which the ray exits the frustum if there is an intersection.
+ true if the current BoundingFrustum intersects the specified Ray.
+
+
+
+ Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+ if the returned value is positive, the camera will move toward the lookat direction (ZoomIn).
+ if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut).
+
+ The points.
+ The zoom to fit distance
+
+
+
+ Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+ if the returned value is positive, the camera will move toward the lookat direction (ZoomIn).
+ if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut).
+
+ The bounding box.
+ The zoom to fit distance
+
+
+
+ Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+
+ The points.
+ The zoom to fit vector
+
+
+
+ Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+
+ The bounding box.
+ The zoom to fit vector
+
+
+
+
+
+
+ Gets or sets the Matrix that describes this bounding frustum.
+
+
+
+
+ Gets the near plane of the BoundingFrustum.
+
+
+
+
+ Gets the far plane of the BoundingFrustum.
+
+
+
+
+ Gets the left plane of the BoundingFrustum.
+
+
+
+
+ Gets the right plane of the BoundingFrustum.
+
+
+
+
+ Gets the top plane of the BoundingFrustum.
+
+
+
+
+ Gets the bottom plane of the BoundingFrustum.
+
+
+
+
+ Indicate whether the current BoundingFrustrum is Orthographic.
+
+
+ true if the current BoundingFrustrum is Orthographic; otherwise, false.
+
+
+
+
+ Represents a bounding sphere in three dimensional space.
+
+
+
+
+ The center of the sphere in three dimensional space.
+
+
+
+
+ The radius of the sphere.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The center of the sphere in three dimensional space.
+ The radius of the sphere.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ The start index from points array to start compute the bounding sphere.
+ The count of points to process to compute the bounding sphere.
+ When the method completes, contains the newly constructed bounding sphere.
+ points
+
+ start
+ or
+ count
+
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ When the method completes, contains the newly constructed bounding sphere.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ The newly constructed bounding sphere.
+
+
+
+ Constructs a from a given box.
+
+ The box that will designate the extents of the sphere.
+ When the method completes, the newly constructed bounding sphere.
+
+
+
+ Constructs a from a given box.
+
+ The box that will designate the extents of the sphere.
+ The newly constructed bounding sphere.
+
+
+
+ Constructs a that is the as large as the total combined area of the two specified spheres.
+
+ The first sphere to merge.
+ The second sphere to merge.
+ When the method completes, contains the newly constructed bounding sphere.
+
+
+
+ Constructs a that is the as large as the total combined area of the two specified spheres.
+
+ The first sphere to merge.
+ The second sphere to merge.
+ The newly constructed bounding sphere.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Callback base implementation of .
+
+
+
+
+ Base class for a class.
+
+
+
+
+ Releases unmanaged resources and performs other cleanup operations before the
+ is reclaimed by garbage collection.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Occurs when this instance is starting to be disposed.
+
+
+
+
+ Occurs when this instance is fully disposed.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+ true if this instance is disposed; otherwise, false.
+
+
+
+
+ Use this interface to tag a class that is called by an unmanaged
+ object. A class must dispose the
+ on dispose.
+
+
+
+
+ Gets or sets the unmanaged shadow callback.
+
+ The unmanaged shadow callback.
+
+ This property is set whenever this instance has an unmanaged shadow callback
+ registered. This callback must be disposed when disposing this instance.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Provides for default value types.
+
+
+
+
+ A default for .
+
+
+
+
+ An observable collection.
+
+ Type of a collection item
+
+
+
+ Raised when an item is added to this instance.
+
+
+
+
+ Raised when a item is removed from this instance.
+
+
+
+
+ An event providing the item changed in a collection (inserted or removed).
+
+ Type of a collection item
+
+
+
+ Initializes a new instance of the class.
+
+ The item from the collection.
+
+
+
+ Gets the item from the collection that was inserted or removed.
+
+ The collection item.
+
+
+
+ An observable dictionary.
+
+ The dictionary's key type.
+ The dictionary's value type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the enumerator of this dictionary.
+
+ The enumerator instance of the dictionary.
+
+
+
+ Removes all items from the dictionary.
+
+
+
+
+ Adds a new value with the specified key to dictionary.
+
+ The added key.
+ The added value.
+
+
+
+ Checks whether the dictionary contains the specified key.
+
+ The key to check for presence.
+ true if the dictionary contains the provided key, false - otherwise.
+
+
+
+ Removes the value corresponding to the specified key from dictionary.
+
+ The key to remove.
+ true if the item was removed, false - otherwise.
+
+
+
+ Tries to get the value associated with the specified key.
+
+ The key.
+ Contains the returned value on success.
+ true if the value was returned successfuly, false - otherwise.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the collection of the keys present in dictionary.
+
+
+
+
+ Gets the collection of the values present in dictionary.
+
+
+
+
+ Gets the cound of items present in dictionary.
+
+
+
+
+ Is raised when a new item is added to the dictionary.
+
+
+
+
+ Is raised when an item is removed from the dictionary.
+
+
+
+
+ Gets or sets a value associated with the specified key.
+
+ The key.
+ The associated value.
+
+
+
+
+
+
+ Event arguments for the and events.
+
+ The dictionary key type.
+ The dictionary value type.
+
+
+
+ Initializes a new instance of the class from the provided .
+
+ The that contains the event arguments.
+
+
+
+ Initializes a new instance of the class from the provided key and value.
+
+ The event's key argument.
+ The event's value argument.
+
+
+
+ Gets the event's key argument.
+
+
+
+
+ Gets the event's value argument.
+
+
+
+
+ A generic collection for effect framework.
+
+ Type of the collection
+
+
+
+ Adds the specified item.
+
+ The item.
+
+
+
+ Determines whether this collection contains an element with the specified name.
+
+ The name.
+ true if [contains] an element with the specified name; otherwise, false.
+
+
+
+ Gets the number of objects in the collection.
+
+
+
+ Gets a specific element in the collection by using an index value.
+ Index of the EffectTechnique to get.
+
+
+ Gets a specific element in the collection by using a name.
+ Name of the EffectTechnique to get.
+
+
+
+ Use to provide a debug view on a custom collection. Use this by adding
+ an attribute [DebuggerTypeProxy(typeof(CollectionDebugView))] to your custom collection.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The collection.
+ collection
+
+
+
+ Gets the items.
+
+ The items.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The collection.
+ collection
+
+
+
+ Gets the items.
+
+ The items.
+
+
+
+ Represents a 3x3 Matrix ( contains only Scale and Rotation ).
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 1 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 1 column 3 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 3 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 3 of the Matrix3x3.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the Matrix3x3.
+ The value to assign at row 1 column 2 of the Matrix3x3.
+ The value to assign at row 1 column 3 of the Matrix3x3.
+ The value to assign at row 2 column 1 of the Matrix3x3.
+ The value to assign at row 2 column 2 of the Matrix3x3.
+ The value to assign at row 2 column 3 of the Matrix3x3.
+ The value to assign at row 3 column 1 of the Matrix3x3.
+ The value to assign at row 3 column 2 of the Matrix3x3.
+ The value to assign at row 3 column 3 of the Matrix3x3.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the Matrix3x3. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Calculates the determinant of the Matrix3x3.
+
+ The determinant of the Matrix3x3.
+
+
+
+ Inverts the Matrix3x3.
+
+
+
+
+ Transposes the Matrix3x3.
+
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Decomposes a Matrix3x3 into an orthonormalized Matrix3x3 Q and a right triangular Matrix3x3 R.
+
+ When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
+ When the method completes, contains the right triangular Matrix3x3 of the decomposition.
+
+
+
+ Decomposes a Matrix3x3 into a lower triangular Matrix3x3 L and an orthonormalized Matrix3x3 Q.
+
+ When the method completes, contains the lower triangular Matrix3x3 of the decomposition.
+ When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
+
+
+
+ Decomposes a Matrix3x3 into a scale, rotation, and translation.
+
+ When the method completes, contains the scaling component of the decomposed Matrix3x3.
+ When the method completes, contains the rotation component of the decomposed Matrix3x3.
+
+ This method is designed to decompose an SRT transformation Matrix3x3 only.
+
+
+
+
+ Decomposes a uniform scale matrix into a scale, rotation, and translation.
+ A uniform scale matrix has the same scale in every axis.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+
+ This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
+
+
+
+
+ Exchanges two rows in the Matrix3x3.
+
+ The first row to exchange. This is an index of the row starting at zero.
+ The second row to exchange. This is an index of the row starting at zero.
+
+
+
+ Exchanges two columns in the Matrix3x3.
+
+ The first column to exchange. This is an index of the column starting at zero.
+ The second column to exchange. This is an index of the column starting at zero.
+
+
+
+ Creates an array containing the elements of the Matrix3x3.
+
+ A 9-element array containing the components of the Matrix3x3.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Determines the product of two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ The quotient of the two matrices.
+
+
+
+ Performs the exponential operation on a Matrix3x3.
+
+ The Matrix3x3 to perform the operation on.
+ The exponent to raise the Matrix3x3 to.
+ When the method completes, contains the exponential Matrix3x3.
+ Thrown when the is negative.
+
+
+
+ Performs the exponential operation on a Matrix3x3.
+
+ The Matrix3x3 to perform the operation on.
+ The exponent to raise the Matrix3x3 to.
+ The exponential Matrix3x3.
+ Thrown when the is negative.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to be negated.
+ When the method completes, contains the negated Matrix3x3.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to be negated.
+ The negated Matrix3x3.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified Matrix3x3.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified Matrix3x3.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ The transpose of the specified Matrix3x3.
+
+
+
+ Calculates the inverse of the specified Matrix3x3.
+
+ The Matrix3x3 whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified Matrix3x3.
+
+
+
+ Calculates the inverse of the specified Matrix3x3.
+
+ The Matrix3x3 whose inverse is to be calculated.
+ The inverse of the specified Matrix3x3.
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthogonalize.
+ When the method completes, contains the orthogonalized Matrix3x3.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthogonalize.
+ The orthogonalized Matrix3x3.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthonormalize.
+ When the method completes, contains the orthonormalized Matrix3x3.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthonormalize.
+ The orthonormalized Matrix3x3.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Brings the Matrix3x3 into upper triangular form using elementary row operations.
+
+ The Matrix3x3 to put into upper triangular form.
+ When the method completes, contains the upper triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into upper triangular form using elementary row operations.
+
+ The Matrix3x3 to put into upper triangular form.
+ The upper triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into lower triangular form using elementary row operations.
+
+ The Matrix3x3 to put into lower triangular form.
+ When the method completes, contains the lower triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into lower triangular form using elementary row operations.
+
+ The Matrix3x3 to put into lower triangular form.
+ The lower triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into row echelon form using elementary row operations;
+
+ The Matrix3x3 to put into row echelon form.
+ When the method completes, contains the row echelon form of the Matrix3x3.
+
+
+
+ Brings the Matrix3x3 into row echelon form using elementary row operations;
+
+ The Matrix3x3 to put into row echelon form.
+ When the method completes, contains the row echelon form of the Matrix3x3.
+
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard Matrix3x3.
+
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard Matrix3x3.
+
+
+
+ Creates a left-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at Matrix3x3.
+
+
+
+ Creates a left-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at Matrix3x3.
+
+
+
+ Creates a right-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at Matrix3x3.
+
+
+
+ Creates a right-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at Matrix3x3.
+
+
+
+ Builds a Matrix3x3 that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ When the method completes, contains the reflection Matrix3x3.
+
+
+
+ Builds a Matrix3x3 that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ The reflection Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ When the method completes, contains the shadow Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ The shadow Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 from a quaternion.
+
+ The quaternion to use to build the Matrix3x3.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 from a quaternion.
+
+ The quaternion to use to build the Matrix3x3.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ The created rotation Matrix3x3.
+
+
+
+ Adds two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ The sum of the two matrices.
+
+
+
+ Assert a Matrix3x3 (return it unchanged).
+
+ The Matrix3x3 to assert (unchanged).
+ The asserted (unchanged) Matrix3x3.
+
+
+
+ Subtracts two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to negate.
+ The negated Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Multiplies two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Divides two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Convert the 3x3 Matrix to a 4x4 Matrix.
+
+ A 4x4 Matrix with zero translation and M44=1
+
+
+
+ Convert the 4x4 Matrix to a 3x3 Matrix.
+
+ A 3x3 Matrix
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified are equal.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets or sets the first row in the Matrix3x3; that is M11, M12, M13
+
+
+
+
+ Gets or sets the second row in the Matrix3x3; that is M21, M22, M23
+
+
+
+
+ Gets or sets the third row in the Matrix3x3; that is M31, M32, M33
+
+
+
+
+ Gets or sets the first column in the Matrix3x3; that is M11, M21, M31
+
+
+
+
+ Gets or sets the second column in the Matrix3x3; that is M12, M22, M32
+
+
+
+
+ Gets or sets the third column in the Matrix3x3; that is M13, M23, M33
+
+
+
+
+ Gets or sets the scale of the Matrix3x3; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity Matrix3x3.
+
+
+ true if this instance is an identity Matrix3x3; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix3x3 component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix3x3 component, depending on the index.
+ The row of the Matrix3x3 to access.
+ The column of the Matrix3x3 to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Internal class used to initialize this assembly.
+
+
+
+
+ Initializes this assembly.
+
+
+ This method is called when the assembly is loaded.
+
+
+
+
+ OrientedBoundingBox (OBB) is a rectangular block, much like an AABB (BoundingBox) but with an arbitrary orientation.
+
+
+
+
+ Half lengths of the box along each axis.
+
+
+
+
+ The matrix which aligns and scales the box, and its translation vector represents the center of the box.
+
+
+
+
+ Creates an from a BoundingBox.
+
+ The BoundingBox to create from.
+
+ Initially, the OBB is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Creates an which contained between two minimum and maximum points.
+
+ The minimum vertex of the bounding box.
+ The maximum vertex of the bounding box.
+
+ Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Creates an that fully contains the given points.
+
+ The points that will be contained by the box.
+
+ This method is not for computing the best tight-fitting OrientedBoundingBox.
+ And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Transforms this box using a transformation matrix.
+
+ The transformation matrix.
+
+ While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
+ scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
+
+
+
+
+ Transforms this box using a transformation matrix.
+
+ The transformation matrix.
+
+ While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
+ scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Translates the to a new position using a translation vector;
+
+ the translation vector.
+
+
+
+ Translates the to a new position using a translation vector;
+
+ the translation vector.
+
+
+
+ Returns the size of the taking into consideration the scaling applied to the transformation matrix.
+
+ The size of the consideration
+
+ This method is computationally expensive, so if no scale is applied to the transformation matrix
+ use property instead.
+
+
+
+
+ Returns the square size of the taking into consideration the scaling applied to the transformation matrix.
+
+ The size of the consideration
+
+
+
+ Determines whether a contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains an array of points>.
+
+ The points array to test.
+ The type of containment.
+
+
+
+ Determines whether a contains a .
+
+ The sphere to test.
+ Optimize the check operation by assuming that has no scaling applied
+ The type of containment the two objects have.
+
+ This method is not designed for which has a non-uniform scaling applied to its transformation matrix.
+ But any type of scaling applied using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between two
+
+ The OrientedBoundingBoxs to test.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for both must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between an and a line defined by two points
+
+ The first point in the line.
+ The second point in the line.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for the must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between an and
+
+ The BoundingBox to test.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for the must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Get the axis-aligned which contains all corners.
+
+ The axis-aligned BoundingBox of this OrientedBoundingBox.
+
+
+
+ Calculates the matrix required to transfer any point from one local coordinates to another.
+
+ The source OrientedBoundingBox.
+ The target OrientedBoundingBox.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+
+ Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A orientation.
+
+ The to merge into it.
+ The to be merged
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+ Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B into it.
+
+
+
+
+ Merge this OrientedBoundingBox into another OrientedBoundingBox, keeping the other OrientedBoundingBox orientation.
+
+ The other to merge into.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+ Merge another OrientedBoundingBox into this OrientedBoundingBox.
+
+ The other to merge into this OrientedBoundingBox.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+
+
+
+ The size of the if no scaling is applied to the transformation matrix.
+
+
+ The property will return the actual size even if the scaling is applied using Scale method,
+ but if the scaling is applied to transformation matrix, use GetSize Function instead.
+
+
+
+
+ Returns the center of the .
+
+
+
+
+ Random functions on commun types.
+
+
+
+
+ Gets random float number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random float number.
+
+
+
+ Gets random double number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random double number.
+
+
+
+ Gets random long number.
+
+ Current .
+ Random long number.
+
+
+
+ Gets random long number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random long number.
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random opaque .
+
+ Current .
+ Random .
+
+
+
+ Gets random opaque .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Alpha value.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Minimum alpha.
+ Maximum alpha.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Instructs obfuscation tools to use their standard obfuscation rules for the appropriate assembly type.
+
+
+
+
+ Initializes a new instance of the class,
+ specifying whether the assembly to be obfuscated is public or priyvate.
+
+ true if the assembly is used within the scope of one application; otherwise, false.
+
+
+
+ Gets a value indicating whether the assembly was marked private.
+
+
+ true if the assembly was marked private; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should remove the attribute after processing.
+
+
+ true if the obfuscation tool should remove the attribute after processing; otherwise, false.
+ The default value for this property is true.
+
+
+
+
+ Instructs obfuscation tools to take the specified actions for an assembly, type, or member.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value indicating whether the attribute of a type is to apply to the members of the type.
+
+
+ true if the attribute is to apply to the members of the type; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should exclude the type or member from obfuscation.
+
+
+ true if the type or member to which this attribute is applied should be excluded from obfuscation; otherwise, false.
+ The default is true.
+
+
+
+
+ Gets or sets a string value that is recognized by the obfuscation tool, and which specifies processing options.
+
+
+ A string value that is recognized by the obfuscation tool, and which specifies processing options. The default is "all".
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should remove the attribute after processing.
+
+
+ true if the obfuscation tool should remove the attribute after processing; otherwise, false.
+ The default value for this property is true.
+
+
+
+
+ Task utility for threading.
+
+
+
+
+ Runs the specified action in a thread.
+
+ The action.
+ Name of the task.
+
+
+
+ Defines the viewport dimensions using float coordinates for (X,Y,Width,Height).
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Width dimension of the viewport.
+
+
+
+
+ Height dimension of the viewport.
+
+
+
+
+ Gets or sets the minimum depth of the clip volume.
+
+
+
+
+ Gets or sets the maximum depth of the clip volume.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+ The minimum depth of the clip volume.
+ The maximum depth of the clip volume.
+
+
+
+ Initializes a new instance of the struct.
+
+ A bounding box that defines the location and size of the viewport in a render target.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified object is equal to this instance.
+
+ The object to compare with this instance.
+
+ true if the specified object is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Retrieves a string representation of this object.
+
+ A that represents this instance.
+
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ A combined WorldViewProjection matrix.
+ The projected vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ The projection matrix.
+ The view matrix.
+ The world matrix.
+ The unprojected Vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ An inverted combined WorldViewProjection matrix.
+ The unprojected vector.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Gets the size of this resource.
+
+ The bounds.
+
+
+
+ Gets the aspect ratio used by the viewport.
+
+ The aspect ratio.
+
+
+
+ A fast method to pass array of to SharpDX methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The array.
+
+
+
+ Initializes a new instance of the class.
+
+ The size.
+
+
+
+ Gets an object at the specified index.
+
+ The index.
+ A
+
+
+
+ Sets an object at the specified index.
+
+ The index.
+ The value.
+
+
+
+
+
+
+ Gets the pointer to the native array associated to this instance.
+
+
+
+
+ Gets the length.
+
+
+
+
+ A typed version of
+
+ Type of the
+
+
+
+ Initializes a new instance of the class.
+
+ The array.
+
+
+
+ Initializes a new instance of the class.
+
+ The size.
+
+
+
+ Gets or sets the with the specified i.
+
+
+
+
+ Generic class to hold a shader compilation results.
+
+ Type of the class containing the generated bytecode.
+
+
+
+ Initializes a new instance of the class.
+
+ The bytecode.
+ Result code from compilation.
+ The message.
+
+
+
+
+
+
+ Gets the Shader bytecode.
+
+
+
+
+ Gets the result code from the compilation.
+
+
+
+
+ Gets a value indicating whether this instance has errors.
+
+
+ true if this instance has errors; otherwise, false.
+
+
+
+
+ Gets the message.
+
+
+ Message are warning or error messages.
+
+
+
+
+ Represents a four dimensional mathematical vector of bool (32 bits per bool value).
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to false.
+
+
+
+
+ The X unit (true, 0, 0, 0).
+
+
+
+
+ The Y unit (0, true, 0, 0).
+
+
+
+
+ The Z unit (0, 0, true, 0).
+
+
+
+
+ The W unit (0, 0, 0, true).
+
+
+
+
+ A with all of its components set to true.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The assembly is the core assembly providing infrastructure for all managed DirectX API.
+
+
+
+
+ Represents a 32-bit color (4 bytes) in the form of RGBA (in byte order: R, G, B, A).
+
+
+ List of predefined .
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct. Passed values are clamped within byte range.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255. Passed values are clamped within byte range.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red, green, and blue components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the alpha, red, green, and blue components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a three component color.
+
+ A three component color containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color in RGBA order.
+
+
+
+ Gets the brightness.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the hue.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the saturation.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed ABGR integer.
+
+ A packed integer containing all four color components in ABGR order
+ A color.
+
+
+
+ Converts the color from a packed ABGR integer.
+
+ A packed integer containing all four color components in ABGR order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Convert this instance to a
+
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (byte).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (byte).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Zero color.
+
+
+
+
+ Transparent color.
+
+
+
+
+ AliceBlue color.
+
+
+
+
+ AntiqueWhite color.
+
+
+
+
+ Aqua color.
+
+
+
+
+ Aquamarine color.
+
+
+
+
+ Azure color.
+
+
+
+
+ Beige color.
+
+
+
+
+ Bisque color.
+
+
+
+
+ Black color.
+
+
+
+
+ BlanchedAlmond color.
+
+
+
+
+ Blue color.
+
+
+
+
+ BlueViolet color.
+
+
+
+
+ Brown color.
+
+
+
+
+ BurlyWood color.
+
+
+
+
+ CadetBlue color.
+
+
+
+
+ Chartreuse color.
+
+
+
+
+ Chocolate color.
+
+
+
+
+ Coral color.
+
+
+
+
+ CornflowerBlue color.
+
+
+
+
+ Cornsilk color.
+
+
+
+
+ Crimson color.
+
+
+
+
+ Cyan color.
+
+
+
+
+ DarkBlue color.
+
+
+
+
+ DarkCyan color.
+
+
+
+
+ DarkGoldenrod color.
+
+
+
+
+ DarkGray color.
+
+
+
+
+ DarkGreen color.
+
+
+
+
+ DarkKhaki color.
+
+
+
+
+ DarkMagenta color.
+
+
+
+
+ DarkOliveGreen color.
+
+
+
+
+ DarkOrange color.
+
+
+
+
+ DarkOrchid color.
+
+
+
+
+ DarkRed color.
+
+
+
+
+ DarkSalmon color.
+
+
+
+
+ DarkSeaGreen color.
+
+
+
+
+ DarkSlateBlue color.
+
+
+
+
+ DarkSlateGray color.
+
+
+
+
+ DarkTurquoise color.
+
+
+
+
+ DarkViolet color.
+
+
+
+
+ DeepPink color.
+
+
+
+
+ DeepSkyBlue color.
+
+
+
+
+ DimGray color.
+
+
+
+
+ DodgerBlue color.
+
+
+
+
+ Firebrick color.
+
+
+
+
+ FloralWhite color.
+
+
+
+
+ ForestGreen color.
+
+
+
+
+ Fuchsia color.
+
+
+
+
+ Gainsboro color.
+
+
+
+
+ GhostWhite color.
+
+
+
+
+ Gold color.
+
+
+
+
+ Goldenrod color.
+
+
+
+
+ Gray color.
+
+
+
+
+ Green color.
+
+
+
+
+ GreenYellow color.
+
+
+
+
+ Honeydew color.
+
+
+
+
+ HotPink color.
+
+
+
+
+ IndianRed color.
+
+
+
+
+ Indigo color.
+
+
+
+
+ Ivory color.
+
+
+
+
+ Khaki color.
+
+
+
+
+ Lavender color.
+
+
+
+
+ LavenderBlush color.
+
+
+
+
+ LawnGreen color.
+
+
+
+
+ LemonChiffon color.
+
+
+
+
+ LightBlue color.
+
+
+
+
+ LightCoral color.
+
+
+
+
+ LightCyan color.
+
+
+
+
+ LightGoldenrodYellow color.
+
+
+
+
+ LightGray color.
+
+
+
+
+ LightGreen color.
+
+
+
+
+ LightPink color.
+
+
+
+
+ LightSalmon color.
+
+
+
+
+ LightSeaGreen color.
+
+
+
+
+ LightSkyBlue color.
+
+
+
+
+ LightSlateGray color.
+
+
+
+
+ LightSteelBlue color.
+
+
+
+
+ LightYellow color.
+
+
+
+
+ Lime color.
+
+
+
+
+ LimeGreen color.
+
+
+
+
+ Linen color.
+
+
+
+
+ Magenta color.
+
+
+
+
+ Maroon color.
+
+
+
+
+ MediumAquamarine color.
+
+
+
+
+ MediumBlue color.
+
+
+
+
+ MediumOrchid color.
+
+
+
+
+ MediumPurple color.
+
+
+
+
+ MediumSeaGreen color.
+
+
+
+
+ MediumSlateBlue color.
+
+
+
+
+ MediumSpringGreen color.
+
+
+
+
+ MediumTurquoise color.
+
+
+
+
+ MediumVioletRed color.
+
+
+
+
+ MidnightBlue color.
+
+
+
+
+ MintCream color.
+
+
+
+
+ MistyRose color.
+
+
+
+
+ Moccasin color.
+
+
+
+
+ NavajoWhite color.
+
+
+
+
+ Navy color.
+
+
+
+
+ OldLace color.
+
+
+
+
+ Olive color.
+
+
+
+
+ OliveDrab color.
+
+
+
+
+ Orange color.
+
+
+
+
+ OrangeRed color.
+
+
+
+
+ Orchid color.
+
+
+
+
+ PaleGoldenrod color.
+
+
+
+
+ PaleGreen color.
+
+
+
+
+ PaleTurquoise color.
+
+
+
+
+ PaleVioletRed color.
+
+
+
+
+ PapayaWhip color.
+
+
+
+
+ PeachPuff color.
+
+
+
+
+ Peru color.
+
+
+
+
+ Pink color.
+
+
+
+
+ Plum color.
+
+
+
+
+ PowderBlue color.
+
+
+
+
+ Purple color.
+
+
+
+
+ Red color.
+
+
+
+
+ RosyBrown color.
+
+
+
+
+ RoyalBlue color.
+
+
+
+
+ SaddleBrown color.
+
+
+
+
+ Salmon color.
+
+
+
+
+ SandyBrown color.
+
+
+
+
+ SeaGreen color.
+
+
+
+
+ SeaShell color.
+
+
+
+
+ Sienna color.
+
+
+
+
+ Silver color.
+
+
+
+
+ SkyBlue color.
+
+
+
+
+ SlateBlue color.
+
+
+
+
+ SlateGray color.
+
+
+
+
+ Snow color.
+
+
+
+
+ SpringGreen color.
+
+
+
+
+ SteelBlue color.
+
+
+
+
+ Tan color.
+
+
+
+
+ Teal color.
+
+
+
+
+ Thistle color.
+
+
+
+
+ Tomato color.
+
+
+
+
+ Turquoise color.
+
+
+
+
+ Violet color.
+
+
+
+
+ Wheat color.
+
+
+
+
+ White color.
+
+
+
+
+ WhiteSmoke color.
+
+
+
+
+ Yellow color.
+
+
+
+
+ YellowGreen color.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the alpha, red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a 32-bit color (4 bytes) in the form of BGRA (in byte order: B, G, B, A).
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in BGRA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in BGRA.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a three component color.
+
+ A three component color containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color in BGRA order.
+
+
+
+ Gets the brightness.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the hue.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the saturation.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed RGBA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Converts the color from a packed RGBA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colorss.
+
+
+
+ Returns a color containing the largest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchange).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (byte).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (byte).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the alpha, red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Base interface for a component base.
+
+
+
+
+ Gets the name of this component.
+
+ The name.
+
+
+
+ A service registry is a that provides methods to register and unregister services.
+
+
+
+
+ Gets the service object of specified type. The service must be registered with the type key.
+
+ This method will thrown an exception if the service is not registered, it null value can be accepted - use the method.
+ The type of the service to get.
+ The service instance.
+ Is thrown when the corresponding service is not registered.
+
+
+
+ Adds a service to this service provider.
+
+ The type of service to add.
+ The instance of the service provider to add.
+ Service type cannot be null
+ Service is already registered
+
+
+
+ Adds a service to this service provider.
+
+ The type of the service to add.
+ The instance of the service provider to add.
+ Service type cannot be null
+ Service is already registered
+
+
+
+ Removes the object providing a specified service.
+
+ The type of service.
+
+
+
+ Occurs when a new service is added.
+
+
+
+
+ Occurs when when a service is removed.
+
+
+
+
+ Path utility methods.
+
+
+
+
+ Transform a path by replacing '/' by '\' and transforming relative '..' or current path '.' to an absolute path. See remarks.
+
+ A path string
+ A normalized path.
+
+ Unlike , this doesn't make a path absolute to the actual file system.
+
+
+
+
+ IInspectable used for a C# callback object exposed as WinRT Component.
+
+ br205821
+ IInspectable
+ IInspectable
+
+
+
+ Internal IInspectable Callback
+
+
+
+
+ A COM Interface Callback
+
+
+
+
+ An Interface shadow callback
+
+
+
+
+ Root class for all Cpp interop object.
+
+
+
+
+ The native pointer
+
+
+
+
+ Default constructor.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The CPP object.
+
+ The result of the conversion.
+
+
+
+
+ Initializes this instance with a pointer from a temporary object and set the pointer of the temporary
+ object to IntPtr.Zero.
+
+ The instance to get the NativePointer.
+
+
+
+ Initializes this instance with a pointer from a temporary object and set the pointer of the temporary
+ object to IntPtr.Zero.
+
+ The instance to get the NativePointer.
+
+
+
+ Method called when is going to be update.
+
+
+
+
+ Method called when the is updated.
+
+
+
+
+ Instantiate a ComObject from a native pointer.
+
+ The ComObject class that will be returned
+ The native pointer to a com object.
+ An instance of T binded to the native pointer
+
+
+
+ Return the unmanaged C++ pointer from a instance.
+
+ The type of the callback.
+ The callback.
+ A pointer to the unmanaged C++ object of the callback
+
+
+
+ Gets or sets a custom user tag object to associate with this instance..
+
+ The tag object.
+
+
+
+ Get a pointer to the underlying Cpp Object
+
+
+
+
+ Initializes the specified shadow instance from a vtbl and a callback.
+
+ The callback.
+
+
+
+ Gets the callback.
+
+
+
+
+ Gets the VTBL associated with this shadow instance.
+
+
+
+
+ Default Constructor.
+
+ number of methods to allocate in the VTBL
+
+
+
+ Add a method supported by this interface. This method is typically called from inherited constructor.
+
+ the managed delegate method
+
+
+
+ Gets the pointer to the vtbl.
+
+
+
+
+ Return a pointer to the unmanaged version of this callback.
+
+ The callback.
+ A pointer to a shadow c++ callback
+
+
+ * [out] */ __RPC__out ULONG *iidCount,
+ * [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids) = 0;
+
+
+ HRESULT ID2D1InspectableProvider::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo)
+
+
+
+ Specify the size used for encoding length for array while using a , just before an array is encoded.
+
+
+
+
+ Use variable length 7Bit Encoding that will output from 1 byte to 5 byte depending on the range of length value.
+
+
+
+
+ Output a length as a byte. The length must not be greater than 255.
+
+
+
+
+ Output a length as an ushort. The length must not be greater than 65535.
+
+
+
+
+ Output a length as an int. The length must not be greater than 2^31 - 1.
+
+
+
+
+ The namespace contains a serialization API.
+
+
+
+
+ Flags used when serializing a value with a .
+
+
+
+
+ Normal serialize (not dynamic, not nullable).
+
+
+
+
+ Serialize a value as a dynamic value (the output stream will contain a magic-code for each encoded object).
+
+
+
+
+ Serialize a value that can be null.
+
+
+
+
+ A singleton string is a string that has a unique instance in memory, See remarks for usage scenarios.
+
+
+ This class should mostly be used internally for performance reasons, in scenarios where equals/hashcode
+ could be invoked frequently, and the set of strings is limited. Internally,
+ string is using the method and also is precaching the hashcode of the string.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The text.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ A lightweight Component base class.
+
+
+
+
+ Occurs while this component is disposing and before it is disposed.
+
+
+
+
+ Gets or sets a value indicating whether the name of this instance is immutable.
+
+ true if this instance is name immutable; otherwise, false.
+
+
+
+ Initializes a new instance of the class with a mutable name.
+
+
+
+
+ Initializes a new instance of the class with an immutable name.
+
+ The name.
+
+
+
+ Gets the name of this component.
+
+ The name.
+
+
+
+ Gets or sets the tag associated to this object.
+
+ The tag.
+
+
+
+ Occurs when a property value changes.
+
+
+
+
+ Pointer to a native buffer with a specific size.
+
+
+
+
+ Gets an Empty Data Pointer.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The pointer.
+ The size.
+
+
+
+ Initializes a new instance of the struct.
+
+ The pointer.
+ The size.
+
+
+
+ Pointer to the buffer.
+
+
+
+
+ Size in bytes of the buffer.
+
+
+
+
+ Implements the ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Gets a value indicating whether this instance is empty (zeroed).
+
+ true if this instance is empty; otherwise, false.
+
+
+
+ The namespace contains classes to help to diagnostic of COM object lifecycles Dispose and Release methods.
+
+
+
+
+ The namespace contains enumerations and structures shared by , and assemblies.
+
+
+
+
+ A class to dispose instances and allocated unmanaged memory.
+
+
+
+
+ Disposes all object collected by this class and clear the list. The collector can still be used for collecting.
+
+
+ To completely dispose this instance and avoid further dispose, use method instead.
+
+
+
+
+ Disposes of object resources.
+
+ If true, managed resources should be
+ disposed of in addition to unmanaged resources.
+
+
+
+ Adds a object or a allocated using to the list of the objects to dispose.
+
+ To dispose.
+ If toDispose argument is not IDisposable or a valid memory pointer allocated by
+
+
+
+ Dispose a disposable object and set the reference to null. Removes this object from this instance..
+
+ Object to dispose.
+
+
+
+ Removes a disposable object to the list of the objects to dispose.
+
+
+ To dispose.
+
+
+
+ Gets the number of elements to dispose.
+
+ The number of elements to dispose.
+
+
+
+ Frustum camera parameters.
+
+
+
+
+ Position of the camera.
+
+
+
+
+ Looking at direction of the camera.
+
+
+
+
+ Up direction.
+
+
+
+
+ Field of view.
+
+
+
+
+ Z near distance.
+
+
+
+
+ Z far distance.
+
+
+
+
+ Aspect ratio.
+
+
+
+
+ Equality comparer using the identify of the object.
+
+ Type of the parameter
+
+ From http://stackoverflow.com/questions/8946790/how-to-use-an-objects-identity-as-key-for-dictionaryk-v.
+
+
+
+
+ Represents a three dimensional mathematical int vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0).
+
+
+
+
+ The Z unit (0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ When the method completes, contains the modulated vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ The modulated vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The namespace contains helper classes in replacement of some classes in useful under Windows 8 Metro.
+
+
+
+
+ This enumeration defines constants that indicate the role that the system has assigned to an audio endpoint device.
+
+ dd370842
+ ERole
+ ERole
+
+
+
+ Games, system notification sounds, and voice commands
+
+
+
+
+ Music, movies, narration, and live music recording.
+
+
+
+
+ Voice communications (talking to another person).
+
+
+
+
+ The namespace contains common structures and helper classes for audio/video processing.
+
+
+
+
+ Use this attribute to specify the id of a dynamic type with .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id to register as a dynamic type.
+
+
+
+ Initializes a new instance of the class.
+
+ The id to register as a dynamic type.
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Exceptions thrown when an invalid chunk is decoded.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The chunk id.
+ The expected chunk id.
+
+
+
+ Gets the chunk id.
+
+ The chunk id.
+
+
+
+ Gets the expected chunk id.
+
+ The expected chunk id.
+
+
+
+ Serializer action.
+
+ The value to read or write.
+ The serializer.
+
+
+
+ This class provides serialization methods for types implementing the .
+
+
+ BinarySerializer is a basic binary serializer with the following features:
+
+
10x times faster and smaller than default System Serialization and Xml Serialization.
+
Supports for all primitive types, array/List<T>/Dictionary of primitive types, custom data via (struct or class) and array/List/Dictionary of custom data.
+
Optimized binary format, data serialized to the strict minimum.
+
Should be compatible with Win8/WinRT, Desktop.
+
Not reflection based serializer, but fully compile time serializer.
+
Format could be read back from C/C++.
+
+
+
+
+
+
+ A disposable component base class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with an immutable name.
+
+ The name.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+
+
+
+ Disposes of object resources.
+
+ If true, managed resources should be
+ disposed of in addition to unmanaged resources.
+
+
+
+ Adds a disposable object to the list of the objects to dispose.
+
+ To dispose.
+
+
+
+ Dispose a disposable object and set the reference to null. Removes this object from the ToDispose list.
+
+ Object to dispose.
+
+
+
+ Removes a disposable object to the list of the objects to dispose.
+
+
+ To dispose.
+
+
+
+ Gets or sets the disposables.
+
+ The disposables.
+
+
+
+ Gets or sets a value indicating whether this instance is attached to a collector.
+
+
+ true if this instance is attached to a collector; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+ true if this instance is disposed; otherwise, false.
+
+
+
+
+ Occurs when when Dispose is called.
+
+
+
+
+ Gets the reader and throws an exception if this serializer is in Write mode.
+
+ The context object that requires a Reader.
+ A BinaryReader.
+ context
+ If this reader is not in read mode
+
+
+
+ Initializes a new instance of the class.
+
+ The stream to read or write to.
+ The read or write mode.
+
+
+
+ Initializes a new instance of the class.
+
+ The stream to read or write to.
+ The read or write mode.
+ Default encoding used for strings. This parameter can be overriden later using Encoding property.
+
+
+
+ Gets a tag value with the specified key.
+
+ The tag key.
+ A tag value associated to a key
+
+
+
+ Determines whether a tag with a specified key is already stored.
+
+ The key.
+ true if a tag with a specified key is already stored; otherwise, false.
+
+
+
+ Removes a tag with the specified key.
+
+ The key.
+
+
+
+ Sets a tag value with the specified key.
+
+ The key.
+ The value.
+
+
+
+
+ Register a dynamic serializer for a particular type implementing the interface and having the .
+
+ Type of the element to serialize.
+
+
+
+ Register a dynamic serializer for a particular type implementing the interface.
+
+ Type of the element to serialize.
+ The id to use for serializing T.
+
+
+
+ Register a dynamic array serializer for a particular type implementing the interface.
+
+ Type of the element in the array.
+ The id to use for serializing T[].
+
+
+
+ Register a dynamic List<T> serializer for a particular type implementing the interface.
+
+ Type of the element in the List<T>.
+ The id to use for serializing List<T>.
+
+
+
+ Register a dynamic serializer using an external action.
+
+ Type of the element to serialize.
+ The id to use for serializing T.
+ The serializer.
+
+
+
+ Begin to serialize a a new chunk.
+
+ The chunk id.
+ If the chuck to read is not the expecting chunk.
+
+ A Chunk is an identifiable portion of data that will serialized. Chunk are useful to encapsulate a variable
+ data (and check for the presence of the chunk Id). Chunk are storing a 4 bytes identifier and the length of
+ the chunk before reading/writing actual data.
+
+
+
+
+ Ends a chunk.
+
+ If there EndChunk is called without a previous BeginChunk.
+ If the size of data read from the chunk is different from chunk size.
+
+
+
+ Deserialize a data from the underlying stream.
+
+ Type of the data to load.
+ An instance of the loaded data.
+
+
+
+ Serializes the specified value to the underlying stream.
+
+ Type of the data to save.
+ The value to save.
+
+
+
+ Flush the underlying
+
+
+
+
+ Serializes a dynamic value that can be nullable.
+
+ Known type of the value to serialize. The known type is not the runtime type that will be actually serialized.
+ The value to serialize based on its runtime type.
+
+
+
+ Serializes a dynamic value.
+
+ Known type of the value to serialize. The known type is not the runtime type that will be actually serialized.
+ The value to serialize based on its runtime type.
+ Type of serialization, see .
+
+
+
+ Serializes a static value implementing the interface.
+
+ Type of the data to serialize.
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a static value implementing the interface. Unlike ,
+ this method doesn't allocate a new instance when reading but use the reference value.
+
+ Type of the data to serialize.
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an enum value.
+
+ Type of the enum to serialize.
+ The value to serialize
+ If type T is not an enum.
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of primitives using serialization methods implemented by this instance for each item in the array.
+
+ Type of the primitive data to serialize.
+ An array of primitive value to serialize
+ The serializer to user to serialize the T values.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements in an array of primitives using serialization methods implemented by this instance for each item in the array.
+
+ Type of the primitive data to serialize.
+ An array of primitive value to serialize
+ Count elements to serialize. See remarks.
+ The serializer to user to serialize the T values.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements in an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes an array of bytes.
+
+ An array of bytes to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of bytes.
+
+ An array of bytes to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a list of primitive values using a specific serializer method from this instance.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ A method of this instance to serialize the primitive T type
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements from a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes count elements from a list of primitive values using a specific serializer method from this instance.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ A method of this instance to serialize the primitive T type
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes a dictionary of key/values that are both implementing the interface.
+
+ Type of key to serialize.
+ Type of value to serialize.
+ A dictionary to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of key to serialize that is implementing the interface.
+ Type of primitive value with its associated serializer.
+ A dictionary to serialize
+ Serializer used for the TValue.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of primitive value with its associated serializer.
+ Type of value to serialize that is implementing the interface.
+ A dictionary to serialize
+ Serializer used for the TKey.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of primitive key with its associated serializer.
+ Type of primitive value with its associated serializer.
+ A dictionary to serialize
+ Serializer used for the TKey.
+ Serializer used for the TValue.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+ Write a null byte at the end of the string.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single fixed length string value.
+
+ The value to serialize
+ Read/write a specific number of characters.
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single boolean value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single byte value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single sbyte value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single short value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single ushort value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single int value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single int as a packed value (from 1 byte to 5 byte. if value < 128, then 1 byte...etc.)
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a memory region.
+
+ The pointer to an unmanaged memory region. For read operation, this pointer must be allocated by the caller.
+ If the end of stream was reached before reading all the bytes.
+ Note that depending on the serialization , this method reads or writes the value.
+ This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately.
+
+
+
+
+ Serializes a memory region.
+
+ The data pointer. For read operation, this pointer must be allocated by the caller.
+ The size in bytes. See remarks.
+ If the end of stream was reached before reading all the bytes.
+ Note that depending on the serialization , this method reads or writes the value.
+ This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately.
+
+
+
+
+ Serializes a single uint value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single long value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single ulong value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single char value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single float value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single double value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single DateTime value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single Guid value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Underlying stream this instance is reading/writing to.
+
+
+
+
+ Reader used to directly read from the underlying stream.
+
+
+
+
+ Writer used to directly write to the underlying stream.
+
+
+
+
+ Gets or sets the serialization mode.
+
+ The serialization mode.
+
+
+
+ Gets or sets the encoding used to serialized strings.
+
+ The encoding.
+ When setting a null encoding
+
+
+
+ Enables to serialize an object only once using object reference. Default is false.
+
+ true if [allow null]; otherwise, false.
+ If an invalid matching pair of true/false is detected.
+
+
+
+ Serialization mode used by .
+
+
+
+
+ Reads the data from the stream.
+
+
+
+
+ Writes the data to the stream.
+
+
+
+
+ Shadow attribute used to associate a COM callbackable interface to its Shadow implementation.
+
+
+
+
+ Initializes a new instance of class.
+
+ Type of the associated shadow
+
+
+
+ Get ShadowAttribute from type.
+
+ Type to get shadow attribute
+ The associated shadow attribute or null if no shadow attribute were found
+
+
+
+ Gets the value.
+
+
+
+
+ Represents a 4x4 mathematical Matrix5x4.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 4 of the Matrix5x4.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the Matrix5x4.
+ The value to assign at row 1 column 2 of the Matrix5x4.
+ The value to assign at row 1 column 3 of the Matrix5x4.
+ The value to assign at row 1 column 4 of the Matrix5x4.
+ The value to assign at row 2 column 1 of the Matrix5x4.
+ The value to assign at row 2 column 2 of the Matrix5x4.
+ The value to assign at row 2 column 3 of the Matrix5x4.
+ The value to assign at row 2 column 4 of the Matrix5x4.
+ The value to assign at row 3 column 1 of the Matrix5x4.
+ The value to assign at row 3 column 2 of the Matrix5x4.
+ The value to assign at row 3 column 3 of the Matrix5x4.
+ The value to assign at row 3 column 4 of the Matrix5x4.
+ The value to assign at row 4 column 1 of the Matrix5x4.
+ The value to assign at row 4 column 2 of the Matrix5x4.
+ The value to assign at row 4 column 3 of the Matrix5x4.
+ The value to assign at row 4 column 4 of the Matrix5x4.
+ The value to assign at row 5 column 1 of the Matrix5x4.
+ The value to assign at row 5 column 2 of the Matrix5x4.
+ The value to assign at row 5 column 3 of the Matrix5x4.
+ The value to assign at row 5 column 4 of the Matrix5x4.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the Matrix5x4. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a Matrix5x4 by the given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by the given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix5x4.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to be negated.
+ When the method completes, contains the negated Matrix5x4.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to be negated.
+ The negated Matrix5x4.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, y-axis and w-axis
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ Scaling factor that is applied along the w-axis.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ Scaling factor that is applied along the w-axis.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ The offset for all three coordinate planes.
+ When the method completes, contains the created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ The offset for all three coordinate planes.
+ The created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ W-coordinate offset.
+ When the method completes, contains the created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ W-coordinate offset.
+ The created translation Matrix5x4.
+
+
+
+ Adds two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ The sum of the two matrices.
+
+
+
+ Assert a Matrix5x4 (return it unchanged).
+
+ The Matrix5x4 to assert (unchanged).
+ The asserted (unchanged) Matrix5x4.
+
+
+
+ Subtracts two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to negate.
+ The negated Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the first row in the Matrix5x4; that is M11, M12, M13, and M14.
+
+
+
+
+ Gets or sets the second row in the Matrix5x4; that is M21, M22, M23, and M24.
+
+
+
+
+ Gets or sets the third row in the Matrix5x4; that is M31, M32, M33, and M34.
+
+
+
+
+ Gets or sets the fourth row in the Matrix5x4; that is M41, M42, M43, and M44.
+
+
+
+
+ Gets or sets the fifth row in the Matrix5x4; that is M51, M52, M53, and M54.
+
+
+
+
+ Gets or sets the translation of the Matrix5x4; that is M41, M42, and M43.
+
+
+
+
+ Gets or sets the scale of the Matrix5x4; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity Matrix5x4.
+
+
+ true if this instance is an identity Matrix5x4; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix5x4 component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix5x4 component, depending on the index.
+ The row of the Matrix5x4 to access.
+ The column of the Matrix5x4 to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Descriptor used to provide detailed message for a particular .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The HRESULT error code.
+ The module (ex: SharpDX.Direct2D1).
+ The API code (ex: D2D1_ERR_...).
+ The description of the result code if any.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Registers a provider.
+
+ Type of the descriptors provider.
+
+ Providers are usually registered at module init when SharpDX assemblies are loaded.
+
+
+
+
+ Finds the specified result descriptor.
+
+ The result code.
+ A descriptor for the specified result
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the HRESULT error code.
+
+ The HRESULT error code.
+
+
+
+ Gets the module (ex: SharpDX.Direct2D1)
+
+
+
+
+ Gets the native API code (ex: D2D1_ERR_ ...)
+
+
+
+
+ Gets the API code (ex: DemiceRemoved ...)
+
+
+
+
+ Gets the description of the result code if any.
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Width.
+
+
+
+
+ Height.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Width.
+
+
+
+
+ Height.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A point with (0,0) coordinates.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Left coordinate.
+
+
+
+
+ Top coordinate.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+
+
+
+ Windows File Helper.
+
+
+
+
+ Checks if the specified file path exists.
+
+ The file path.
+ true if the specified file path exists, false otherwise
+
+
+
+ Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
+
+ The file to open for reading.
+ A byte array containing the contents of the file.
+
+
+
+ Opens a text file, reads all lines of the file, and then closes the file.
+
+ The file to open for reading.
+ A string containing all lines of the file.
+
+
+
+ Opens a text file, reads all lines of the file, and then closes the file.
+
+ The file to open for reading.
+ The encoding.
+ The sharing.
+ A string containing all lines of the file.
+
+
+
+ Gets the size of the file.
+
+ The handle.
+ Size of the file.
+
+ GetFileSizeEx
+
+
+
+ Gets the last write time access for the specified path.
+
+ The path.
+ The last write time access
+
+
+
+ Windows File Helper.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The file mode.
+ The access mode.
+ The share mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads a block of bytes from the stream and writes the data in a given buffer.
+
+ When this method returns, contains the specified buffer with the values between offset and (offset + count - 1) replaced by the bytes read from the current source.
+ The byte offset in array at which the read bytes will be placed.
+ The maximum number of bytes to read.
+ array is null.
+ The total number of bytes read into the buffer. This might be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached.
+
+
+
+
+
+
+ Writes a block of bytes to this stream using data from a buffer.
+
+ The buffer containing data to write to the stream.
+ The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Native File access flags.
+
+
+
+
+ Read access.
+
+
+
+
+ Write access.
+
+
+
+
+ Read/Write Access,
+
+
+
+
+ Execute access.
+
+
+
+
+ All access
+
+
+
+
+ Native file attributes.
+
+
+
+
+ None attribute.
+
+
+
+
+ Read only attribute.
+
+
+
+
+ Hidden attribute.
+
+
+
+
+ System attribute.
+
+
+
+
+ Directory attribute.
+
+
+
+
+ Archive attribute.
+
+
+
+
+ Device attribute.
+
+
+
+
+ Normal attribute.
+
+
+
+
+ Temporary attribute.
+
+
+
+
+ Sparse file attribute.
+
+
+
+
+ ReparsePoint attribute.
+
+
+
+
+ Compressed attribute.
+
+
+
+
+ Offline attribute.
+
+
+
+
+ Not content indexed attribute.
+
+
+
+
+ Encrypted attribute.
+
+
+
+
+ Write through attribute.
+
+
+
+
+ Overlapped attribute.
+
+
+
+
+ No buffering attribute.
+
+
+
+
+ Random access attribute.
+
+
+
+
+ Sequential scan attribute.
+
+
+
+
+ Delete on close attribute.
+
+
+
+
+ Backup semantics attribute.
+
+
+
+
+ Post semantics attribute.
+
+
+
+
+ Open reparse point attribute.
+
+
+
+
+ Open no recall attribute.
+
+
+
+
+ First pipe instance attribute.
+
+
+
+
+ Native file creation disposition.
+
+
+
+
+ Creates a new file. The function fails if a specified file exists.
+
+
+
+
+ Creates a new file, always.
+ If a file exists, the function overwrites the file, clears the existing attributes, combines the specified file attributes,
+ and flags with FILE_ATTRIBUTE_ARCHIVE, but does not set the security descriptor that the SECURITY_ATTRIBUTES structure specifies.
+
+
+
+
+ Opens a file. The function fails if the file does not exist.
+
+
+
+
+ Opens a file, always.
+ If a file does not exist, the function creates a file as if dwCreationDisposition is CREATE_NEW.
+
+
+
+
+ Opens a file and truncates it so that its size is 0 (zero) bytes. The function fails if the file does not exist.
+ The calling process must open the file with the GENERIC_WRITE access right.
+
+
+
+
+ Native file share.
+
+
+
+
+ None flag.
+
+
+
+
+ Enables subsequent open operations on an object to request read access.
+ Otherwise, other processes cannot open the object if they request read access.
+ If this flag is not specified, but the object has been opened for read access, the function fails.
+
+
+
+
+ Enables subsequent open operations on an object to request write access.
+ Otherwise, other processes cannot open the object if they request write access.
+ If this flag is not specified, but the object has been opened for write access, the function fails.
+
+
+
+
+ Read and Write flags.
+
+
+
+
+ Enables subsequent open operations on an object to request delete access.
+ Otherwise, other processes cannot open the object if they request delete access.
+ If this flag is not specified, but the object has been opened for delete access, the function fails.
+
+
+
+
+ Direct2D Matrix3x2. Supports implicit cast from .
+
+
+
+
+ Gets the identity matrix.
+
+ The identity matrix.
+
+
+
+ Element (1,1)
+
+
+
+
+ Element (1,2)
+
+
+
+
+ Element (2,1)
+
+
+
+
+ Element (2,2)
+
+
+
+
+ Element (3,1)
+
+
+
+
+ Element (3,2)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the matrix.
+ The value to assign at row 1 column 2 of the matrix.
+ The value to assign at row 2 column 1 of the matrix.
+ The value to assign at row 2 column 2 of the matrix.
+ The value to assign at row 3 column 1 of the matrix.
+ The value to assign at row 3 column 2 of the matrix.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the matrix. This must be an array with six elements.
+ Thrown when is null.
+ Thrown when contains more or less than six elements.
+
+
+
+ Creates an array containing the elements of the matrix.
+
+ A sixteen-element array containing the components of the matrix.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ When the method completes, contains the negated matrix.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ The negated matrix.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor for both axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor for both axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along both axes.
+
+ The uniform scale that is applied along both axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along both axes.
+
+ The uniform scale that is applied along both axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that is scaling from a specified center.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The center of the scaling.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that is scaling from a specified center.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The center of the scaling.
+ The created scaling matrix.
+
+
+
+ Calculates the determinant of this matrix.
+
+ Result of the determinant.
+
+
+
+ Creates a matrix that rotates.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates about a specified center.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The center of the rotation.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates about a specified center.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The center of the rotation.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ X-coordinate offset.
+ Y-coordinate offset.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Angle of rotation in radians.
+ X-coordinate offset.
+ Y-coordinate offset.
+ The created transformation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for both coordinate planes.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for both coordinate planes.
+ The created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ The created translation matrix.
+
+
+
+ Transforms a vector by this matrix.
+
+ The matrix to use as a transformation matrix.
+ The original vector to apply the transformation.
+ The result of the transformation for the input vector.
+
+
+
+ Transforms a vector by this matrix.
+
+ The matrix to use as a transformation matrix.
+ The original vector to apply the transformation.
+ The result of the transformation for the input vector.
+
+
+
+
+ Calculates the inverse of this matrix instance.
+
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ the inverse of the specified matrix.
+
+
+
+ Creates a skew matrix.
+
+ Angle of skew along the X-axis in radians.
+ Angle of skew along the Y-axis in radians.
+ The created skew matrix.
+
+
+
+ Creates a skew matrix.
+
+ Angle of skew along the X-axis in radians.
+ Angle of skew along the Y-axis in radians.
+ When the method completes, contains the created skew matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified matrix.
+
+
+
+ Adds two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Assert a matrix (return it unchanged).
+
+ The matrix to assert (unchanged).
+ The asserted (unchanged) matrix.
+
+
+
+ Subtracts two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to negate.
+ The negated matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Multiplies two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Divides two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The matrix.
+ The result of the conversion.
+
+
+
+ Gets or sets the first row in the matrix; that is M11 and M12.
+
+
+
+
+ Gets or sets the second row in the matrix; that is M21 and M22.
+
+
+
+
+ Gets or sets the third row in the matrix; that is M31 and M32.
+
+
+
+
+ Gets or sets the first column in the matrix; that is M11, M21, and M31.
+
+
+
+
+ Gets or sets the second column in the matrix; that is M12, M22, and M32.
+
+
+
+
+ Gets or sets the translation of the matrix; that is M31 and M32.
+
+
+
+
+ Gets or sets the scale of the matrix; that is M11 and M22.
+
+
+
+
+ Gets a value indicating whether this instance is an identity matrix.
+
+
+ true if this instance is an identity matrix; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 5].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The row of the matrix to access.
+ The column of the matrix to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ The ShadowContainer is the main container used internally to keep references to all native COM/C++ callbacks.
+ It is stored in the property .
+
+
+
+
+ Contains static methods to help in determining intersections, containment, etc.
+
+
+
+
+ Determines the closest point between a point and a triangle.
+
+ The point to test.
+ The first vertex to test.
+ The second vertex to test.
+ The third vertex to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+ The plane to test.
+ The point to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+ The box to test.
+ The point to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+
+ The point to test.
+ When the method completes, contains the closest point between the two objects;
+ or, if the point is directly in the center of the sphere, contains .
+
+
+
+ Determines the closest point between a and a .
+
+ The first sphere to test.
+ The second sphere to test.
+ When the method completes, contains the closest point between the two objects;
+ or, if the point is directly in the center of the sphere, contains .
+
+ If the two spheres are overlapping, but not directly on top of each other, the closest point
+ is the 'closest' point of intersection. This can also be considered is the deepest point of
+ intersection.
+
+
+
+
+ Determines the distance between a and a point.
+
+ The plane to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a point.
+
+ The box to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a .
+
+ The first box to test.
+ The second box to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a point.
+
+ The sphere to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a .
+
+ The first sphere to test.
+ The second sphere to test.
+ The distance between the two objects.
+
+
+
+ Determines whether there is an intersection between a and a point.
+
+ The ray to test.
+ The point to test.
+ Whether the two objects intersect.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first ray to test.
+ The second ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersect.
+
+ This method performs a ray vs ray intersection test based on the following formula
+ from Goldman.
+ s = det([o_2 - o_1, d_2, d_1 x d_2]) / ||d_1 x d_2||^2
+ t = det([o_2 - o_1, d_1, d_1 x d_2]) / ||d_1 x d_2||^2
+ Where o_1 is the position of the first ray, o_2 is the position of the second ray,
+ d_1 is the normalized direction of the first ray, d_2 is the normalized direction
+ of the second ray, det denotes the determinant of a matrix, x denotes the cross
+ product, [ ] denotes a matrix, and || || denotes the length or magnitude of a vector.
+
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The plane to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersect.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The plane to test
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The ray to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+ This method tests if the ray intersects either the front or back of the triangle.
+ If the ray is parallel to the triangle's plane, no intersection is assumed to have
+ happened. If the intersection of the ray and the triangle is behind the origin of
+ the ray, no intersection is assumed to have happened. In both cases of assumptions,
+ this method returns false.
+
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The ray to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The box to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The box to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The sphere to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The sphere to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a point.
+
+ The plane to test.
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first plane to test.
+ The second plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first plane to test.
+ The second plane to test.
+ When the method completes, contains the line of intersection
+ as a , or a zero ray if there was no intersection.
+ Whether the two objects intersected.
+
+ Although a ray is set to have an origin, the ray returned by this method is really
+ a line in three dimensions which has no real origin. The ray is considered valid when
+ both the positive direction is used and when the negative direction is used.
+
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The plane to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The plane to test.
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The plane to test.
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first box to test.
+ The second box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The box to test.
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The sphere to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ First sphere to test.
+ Second sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether a contains a point.
+
+ The box to test.
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The first box to test.
+ The second box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The box to test.
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a point.
+
+ The sphere to test.
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a triangle.
+
+ The sphere to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The sphere to test.
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The first sphere to test.
+ The second sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Represents a color in the form of rgb.
+
+
+
+
+ The Black color (0, 0, 0).
+
+
+
+
+ The White color (1, 1, 1, 1).
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all three color components in RGB order.
+ The alpha component is ignored.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue components of the color. This must be an array with three elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all three color components.
+ The alpha channel is set to 255.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all three color components.
+ The alpha channel is set to 255.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A three-element array containing the components of the color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The color alpha.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The color alpha.
+ The premultiplied color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (float)
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (float).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the red component, 1 for the green component, and 2 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 2].
+
+
+
+ Represents a color in the form of rgba.
+
+
+
+
+ The Black color (0, 0, 0, 1).
+
+
+
+
+ The White color (1, 1, 1, 1).
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, blue, and alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ used to initialize the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ used to initialize the color.
+ The alpha component of the color.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (float).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (float).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the red, green, blue, and alpha components, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Gets or sets the unmanaged callback.
+
+ The unmanaged callback.
+
+ This property is set whenever this instance has an unmanaged callback
+ registered. This callback must be disposed when disposing this instance.
+
+
+
+
+ Root IUnknown class to interop with COM object
+
+
+
+
+ Base interface for Component Object Model (COM).
+
+
+
+
+ Queries the supported COM interface on this instance.
+
+ The guid of the interface.
+ The output COM object reference.
+ If successful,
+
+
+
+ Increments the reference count for an interface on this instance.
+
+ The method returns the new reference count.
+
+
+
+ Decrements the reference count for an interface on this instance.
+
+ The method returns the new reference count.
+
+
+
+ Initializes a new instance of the class.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class from a IUnknown object.
+
+ Reference to a IUnknown object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Query this instance for a particular COM GUID/interface support.
+
+ GUID query interface
+ output object associated with this GUID, IntPtr.Zero in interface is not supported
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query instance for a particular COM GUID/interface support.
+
+ GUID query interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Compares 2 COM objects and return true if the native pointer is the same.
+
+ The left.
+ The right.
+ true if the native pointer is the same, false otherwise
+
+
+
+ Query this instance for a particular COM interface support.
+
+ The type of the COM interface to query
+ An instance of the queried interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query this instance for a particular COM interface support.
+
+ The type of the COM interface to query
+ An instance of the queried interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support (This method is a shortcut to )
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support (This method is a shortcut to )
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support.
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support.
+
+ The type of the COM interface to query
+ A pointer to a COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query Interface for a particular interface support.
+
+ An instance of the queried interface or null if it is not supported
+
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Performs an explicit conversion from to .
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+ Query Interface for a particular interface support and attach to the given instance.
+
+
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+ ms682317
+ IUnknown::Release
+ IUnknown::Release
+
+
+
+ Base class for unmanaged callbackable Com object.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Implements but it cannot not be set.
+ This is only used to support for interop with unmanaged callback.
+
+
+
+
+ A compilation exception.
+
+
+
+
+ The base class for errors that occur in SharpDX.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The result code that caused this exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The result descriptor.
+
+
+
+ Initializes a new instance of the class.
+
+ The error result code.
+ The message describing the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The error result code.
+ The message describing the exception.
+ formatting arguments
+
+
+
+ Initializes a new instance of the class.
+
+ The message describing the exception.
+ formatting arguments
+
+
+
+ Initializes a new instance of the class.
+
+ The message describing the exception.
+ The exception that caused this exception.
+ formatting arguments
+
+
+
+ Gets the Result code for the exception. This value indicates
+ the specific type of failure that occurred within SharpDX.
+
+
+
+
+ Gets the Result code for the exception. This value indicates
+ the specific type of failure that occurred within SharpDX.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The error code.
+ The message.
+
+
+
+ Global configuration.
+
+
+
+
+ Enables or disables object tracking. Default is disabled (false).
+
+
+ Object Tracking is used to track COM object lifecycle creation/dispose. When this option is enabled
+ objects can be tracked using . Using Object tracking has a significant
+ impact on performance and should be used only while debugging.
+
+
+
+
+ Enables or disables release of on finalizer. Default is disabled (false).
+
+
+
+
+ Enables or disables writing a warning via if a was disposed in the finalizer. Default is enabled (true).
+
+
+
+
+ Throws a when a shader or effect compilation error occurred. Default is enabled (true).
+
+
+
+
+ By default all objects in the process are tracked.
+ Use this property to track objects per thread.
+
+
+
+
+ Provides access to data organized in 3D.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The datapointer.
+ The row pitch.
+ The slice pitch.
+
+
+
+ Initializes a new instance of the struct.
+
+ The data pointer.
+
+
+
+ Pointer to the data.
+
+
+
+
+ Gets the number of bytes per row.
+
+
+
+
+ Gets the number of bytes per slice (for a 3D texture, a slice is a 2D image)
+
+
+
+
+ Gets a value indicating whether this instance is empty.
+
+ true if this instance is empty; otherwise, false.
+
+
+
+ Provides access to data organized in 2D.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The data pointer.
+ The pitch.
+
+
+
+ Pointer to the data.
+
+
+
+
+ Gets the number of bytes per row.
+
+
+
+
+ Provides a stream interface to a buffer located in unmanaged memory.
+
+
+
+
+ Initializes a new instance of the class from a Blob buffer.
+
+ The buffer.
+
+
+
+ Initializes a new instance of the class, using a managed buffer as a backing store.
+
+
+ A managed array to be used as a backing store.
+ true if reading from the buffer should be allowed; otherwise, false.
+ true if writing to the buffer should be allowed; otherwise, false.
+ Index inside the buffer in terms of element count (not size in bytes).
+ True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true.
+
+
+
+
+ Initializes a new instance of the class, and allocates a new buffer to use as a backing store.
+
+ The size of the buffer to be allocated, in bytes.
+
+ true if reading from the buffer should be allowed; otherwise, false.
+
+ true if writing to the buffer should be allowed; otherwise, false.
+
+
+
+ Initializes a new instance of the class, using an unmanaged buffer as a backing store.
+
+ A pointer to the buffer to be used as a backing store.
+ The size of the buffer provided, in bytes.
+
+ true if reading from the buffer should be allowed; otherwise, false.
+
+ true if writing to the buffer should be allowed; otherwise, false.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Not supported.
+
+ Always thrown.
+
+
+
+ Reads a single value from the current stream and advances the current
+ position within this stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the value to be read from the stream.
+ The value that was read.
+ This stream does not support reading.
+
+
+
+ Reads a float.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a float from the stream
+
+
+
+ Reads a int.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an int from the stream
+
+
+
+ Reads a short.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an short from the stream
+
+
+
+ Reads a bool.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an bool from the stream
+
+
+
+ Reads a Vector2.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector2 from the stream
+
+
+
+ Reads a Vector3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector3 from the stream
+
+
+
+ Reads a Vector4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector4 from the stream
+
+
+
+ Reads a Color3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Color3 from the stream
+
+
+
+ Reads a Color4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Color4 from the stream
+
+
+
+ Reads a Half.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half from the stream
+
+
+
+ Reads a Half2.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half2 from the stream
+
+
+
+ Reads a Half3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half3 from the stream
+
+
+
+ Reads a Half4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half4 from the stream
+
+
+
+ Reads a Matrix.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a Matrix from the stream
+
+
+
+ Reads a Quaternion.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a Quaternion from the stream
+
+
+
+
+
+
+ Reads a sequence of bytes from the current stream and advances the position
+ within the stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be read from the stream.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current stream.
+ The maximum number of bytes to be read from the current stream.
+ The number of bytes read from the stream.
+ This stream does not support reading.
+
+
+
+ Reads a sequence of bytes from the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+ Reads an array of values from the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the values to be read from the stream.
+ An array of values that was read from the current stream.
+
+
+
+ Reads a sequence of elements from the current stream into a target buffer and
+ advances the position within the stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be read from the stream.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current stream.
+ The number of values to be read from the current stream.
+ The number of bytes read from the stream.
+ This stream does not support reading.
+
+
+
+ Sets the position within the current stream.
+
+ Attempted to seek outside of the bounds of the stream.
+
+
+
+ Not supported.
+
+ Always ignored.
+ Always thrown.
+
+
+
+ Writes a single value to the stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the value to be written to the stream.
+ The value to write to the stream.
+ The stream does not support writing.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes a sequence of bytes to the current stream and advances the current
+ position within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of bytes. This method copies count bytes from buffer to the current stream.
+ The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+ This stream does not support writing.
+
+
+
+ When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+ Writes an array of values to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be written to the current stream.
+ This stream does not support writing.
+
+
+
+ Writes a range of bytes to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ A pointer to the location to start copying from.
+ The number of bytes to copy from source to the current stream.
+ This stream does not support writing.
+
+
+
+ Writes an array of values to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the values to be written to the stream.
+ An array of values to be written to the stream.
+ The zero-based offset in data at which to begin copying values to the current stream.
+ The number of values to be written to the current stream. If this is zero,
+ all of the contents will be written.
+ This stream does not support writing.
+
+
+
+ Performs an explicit conversion from to .
+
+ The from value.
+ The result of the conversion.
+
+
+
+ Gets a value indicating whether the current stream supports reading.
+
+
+ true if the stream supports reading; otherwise, false.
+
+
+
+ Gets a value indicating whether the current stream supports seeking.
+
+ Always true.
+
+
+
+ Gets a value indicating whether the current stream supports writing.
+
+
+ true if the stream supports writing; otherwise, false.
+
+
+
+ Gets the internal pointer to the current stream's backing store.
+
+ An IntPtr to the buffer being used as a backing store.
+
+
+
+ Gets the length in bytes of the stream.
+
+ A long value representing the length of the stream in bytes.
+
+
+
+ Gets or sets the position within the current stream.
+
+ The current position within the stream.
+ Stream Class
+
+
+
+ Gets the position pointer.
+
+ The position pointer.
+
+
+
+ Gets the length of the remaining.
+
+ The length of the remaining.
+
+
+
+ Provides methods to perform fast read/write random access data on a buffer located in an unmanaged memory.
+
+
+ This class doesn't validate the position read/write from. It is the responsibility of the client of this class
+ to verify that access is done within the size of the buffer.
+
+
+
+
+ Creates the specified user buffer.
+
+ Type of the buffer.
+ The buffer to use as a DataBuffer.
+ Index inside the buffer in terms of element count (not size in bytes).
+ True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true.
+ An instance of a DataBuffer
+
+
+
+ Initializes a new instance of the class, and allocates a new buffer to use as a backing store.
+
+ The size of the buffer to be allocated, in bytes.
+
+ is less than 1.
+
+
+
+ Initializes a new instance of the class, using an unmanaged buffer as a backing store.
+
+ A pointer to the buffer to be used as a backing store.
+ The size of the buffer provided, in bytes.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Clears the buffer.
+
+
+
+
+ Gets a single value from the current buffer at the specified position.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ The type of the value to be read from the buffer.
+ The value that was read.
+
+
+
+ Gets a single value from the current buffer at the specified position.
+
+ The type of the value to be read from the buffer.
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ The value as out.
+ The value that was read.
+
+
+
+ Gets a float.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a float from the buffer
+
+
+
+ Gets a int.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an int from the buffer
+
+
+
+ Gets a short.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an short from the buffer
+
+
+
+ Gets a bool.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an bool from the buffer
+
+
+
+ Gets a Vector2.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector2 from the buffer
+
+
+
+ Gets a Vector3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector3 from the buffer
+
+
+
+ Gets a Vector4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector4 from the buffer
+
+
+
+ Gets a Color3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Color3 from the buffer
+
+
+
+ Gets a Color4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Color4 from the buffer
+
+
+
+ Gets a Half.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half from the buffer
+
+
+
+ Gets a Half2.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half2 from the buffer
+
+
+
+ Gets a Half3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half3 from the buffer
+
+
+
+ Gets a Half4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half4 from the buffer
+
+
+
+ Gets a Matrix.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a Matrix from the buffer
+
+
+
+ Gets a Quaternion.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a Quaternion from the buffer
+
+
+
+ Gets an array of values from a position in the buffer.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ number of T instance to get from the positionInBytes
+ The type of the values to be read from the buffer.
+ An array of values that was read from the current buffer.
+
+
+
+ Gets a sequence of elements from a position in the buffer into a target buffer.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ An array of values to be read from the buffer.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current buffer.
+ The number of values to be read from the current buffer.
+
+
+
+ Sets a single value to the buffer at a specified position.
+
+ The type of the value to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value to write to the buffer.
+
+
+
+ Sets a single value to the buffer at a specified position.
+
+ The type of the value to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value to write to the buffer.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets an array of values to a specified position into the buffer.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ An array of values to be written to the current buffer.
+
+
+
+ Sets a range of data to a specified position into the buffer.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ A pointer to the location to start copying from.
+ The number of bytes to copy from source to the current buffer.
+
+
+
+ Sets an array of values to a specified position into the buffer.
+
+ The type of the values to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ An array of values to be written to the buffer.
+ The zero-based offset in data at which to begin copying values to the current buffer.
+ The number of values to be written to the current buffer. If this is zero,
+ all of the contents will be written.
+
+
+
+ Performs an explicit conversion from to .
+
+ The from value.
+ The result of the conversion.
+
+
+
+ Gets a pointer to the buffer used as a backing store..
+
+ An IntPtr to the buffer being used as a backing store.
+
+
+
+ Gets the length in bytes of the buffer.
+
+ A long value representing the length of the buffer in bytes.
+
+
+
+ Contains information about a tracked COM object.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The creation time.
+ The com object to track.
+ The stack trace.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets the time the object was created.
+
+ The creation time.
+
+
+
+ Gets a weak reference to the tracked object.
+
+ The weak reference to the tracked object.
+
+
+
+ Gets the stack trace when the track object was created.
+
+ The stack trace.
+
+
+
+ Gets a value indicating whether the tracked object is alive.
+
+ true if tracked object is alive; otherwise, false.
+
+
+
+ Event args for used by .
+
+
+
+
+ The object being tracked/untracked.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The o.
+
+
+
+ Track all allocated objects.
+
+
+
+
+ Tracks the specified COM object.
+
+ The COM object.
+
+
+
+ Finds a list of object reference from a specified COM object pointer.
+
+ The COM object pointer.
+ A list of object reference
+
+
+
+ Finds the object reference for a specific COM object.
+
+ The COM object.
+ An object reference
+
+
+
+ Untracks the specified COM object.
+
+ The COM object.
+
+
+
+ Reports all COM object that are active and not yet disposed.
+
+
+
+
+ Reports all COM object that are active and not yet disposed.
+
+
+
+
+ Occurs when a ComObject is tracked.
+
+
+
+
+ Occurs when a ComObject is untracked.
+
+
+
+
+ Describes the type of angle.
+
+
+
+
+ Specifies an angle measurement in revolutions.
+
+
+
+
+ Specifies an angle measurement in degrees.
+
+
+
+
+ Specifies an angle measurement in radians.
+
+
+
+
+ Specifies an angle measurement in gradians.
+
+
+
+
+ Describes how one bounding volume contains another.
+
+
+
+
+ The two bounding volumes don't intersect at all.
+
+
+
+
+ One bounding volume completely contains another.
+
+
+
+
+ The two bounding volumes overlap.
+
+
+
+
+ Describes the result of an intersection with a plane in three dimensions.
+
+
+
+
+ The object is behind the plane.
+
+
+
+
+ The object is in front of the plane.
+
+
+
+
+ The object is intersecting the plane.
+
+
+
+
+ FunctionCallback
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
Values that identify the indended use of a constant-data buffer.
+
+
+
-typed values are specified in the uFlags member of the D3D11_SHADER_BUFFER_DESC structure.
A hardware driver, which implements Direct3D features in hardware. This is the primary driver that you should use in your Direct3D applications because it provides the best performance. A hardware driver uses hardware acceleration (on supported hardware) but can also use software for parts of the pipeline that are not supported in hardware. This driver type is often referred to as a hardware abstraction layer or HAL.
A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.
A null driver, which is a reference driver without render capability. This driver is commonly used for debugging non-rendering API calls, it is not appropriate for retail applications. This driver is installed by the DirectX SDK.
A software driver, which is a driver implemented completely in software. The software implementation is not intended for a high-performance application due to its very slow performance.
A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.
Targets features supported by Direct3D 11.1 including Direct3D device sharing. Device sharing enables Direct3D 10 and Direct3D 11 APIs to use one underlying rendering device. For more information about device sharing, see .
Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.
+
+
+
Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.
The following diagram shows the various primitive types for a geometry shader object.
Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.
+
+
+
Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.
The following diagram shows the various primitive types for a geometry shader object.
Return type is a multiple-dword type, such as a double or uint64, and the component is continued from the previous component that was declared. The first component represents the lower bits.
Use a comparison sampler, which uses the SampleCmp (DirectX HLSL Texture Object) and SampleCmpLevelZero (DirectX HLSL Texture Object) sampling functions.
Values that identify the class of a shader variable.
+
+
+
The class of a shader variable is not a programming class; the class identifies the variable class such as scalar, vector, object, and so on. -typed values are specified in the Class member of the D3D11_SHADER_TYPE_DESC structure.
Indicates that the registers assigned to this shader variable were explicitly declared in shader code (instead of automatically assigned by the compiler).
Indicates that this variable is used by this shader. This value confirms that a particular shader variable (which can be common to many different shaders) is indeed used by a particular shader.
Values that identify various data, texture, and buffer types that can be assigned to a shader variable.
+
+
+
A call to the ID3D11ShaderReflectionType::GetDesc method returns a value in the Type member of a D3D11_SHADER_TYPE_DESC structure.
The types in a structured buffer describe the structure of the elements in the buffer. The layout of these types generally match their C++ struct counterparts. The following examples show structured buffers:
Values that identify shader parameters that use system-value semantics.
+
+
+
The values identify shader parameters that have predefined system-value semantics. These values are used in a shader-signature description. For more information about shader-signature description, see D3D11_SIGNATURE_PARAMETER_DESC.
+
+
+ ff728724
+ D3D_NAME
+ D3D_NAME
+
+
+
+
This parameter does not use a predefined system-value semantic.
This parameter contains one of four tessellation factors that correspond to the amount of parts that a quad patch is broken into along the given edge. This flag is used to tessellate a quad patch.
This parameter contains one of two tessellation factors that correspond to the amount of parts that a quad patch is broken into vertically and horizontally within the patch. This flag is used to tessellate a quad patch.
This parameter contains one of three tessellation factors that correspond to the amount of parts that a tri patch is broken into along the given edge. This flag is used to tessellate a tri patch.
This parameter contains the tessellation factor that corresponds to the amount of parts that a tri patch is broken into within the patch. This flag is used to tessellate a tri patch.
This parameter contains the tessellation factor that corresponds to the number of lines broken into within the patch. This flag is used to tessellate an isolines patch.
This parameter contains the tessellation factor that corresponds to the number of lines that are created within the patch. This flag is used to tessellate an isolines patch.
This parameter signifies that the value is greater than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.
This parameter signifies that the value is less than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.
During tessellation, the partition option helps to determine how the algorithm chooses the next partition value; this enumeration is used by D3D11_SHADER_DESC.
This interface is used to return arbitrary length data.
+
+
+
An is obtained by calling D3D10CreateBlob.
The ID3DBlob interface is type defined in the D3DCommon.h header file as a interface, which is fully defined in the D3DCommon.h header file. ID3DBlob is version neutral and can be used in code for any Direct3D version.
Blobs can be used as a data buffer, storing vertex, adjacency, and material information during mesh optimization and loading operations. Also, these objects are used to return object code and error messages in APIs that compile vertex, geometry and pixel shaders.
+
+
+ bb173507
+ ID3D10Blob
+ ID3D10Blob
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
A multithread interface accesses multithread settings and can only be used if the thread-safe layer is turned on.
+
+
+
This interface is obtained by querying it from the ID3D10Device Interface using IUnknown::QueryInterface.
+
+
+ bb173816
+ ID3D10Multithread
+ ID3D10Multithread
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
Enter a device's critical section.
+
+
+
Entering a device's critical section prevents other threads from simultaneously calling that device's methods (if multithread protection is set to true), calling DXGI methods, and calling the methods of all resource, view, shader, state, and asynchronous interfaces.
This function should be used in multithreaded applications when there is a series of graphics commands that must happen in order. This function is typically called at the beginning of the series of graphics commands, and is typically called after those graphics commands.
This function is typically used in multithreaded applications when there is a series of graphics commands that must happen in order. is typically called at the beginning of a series of graphics commands, and this function is typically called after those graphics commands.
is an include interface that the user implements to allow an application to call user-overridable methods for opening and closing shader #include files.
+
+
+
To use this interface, create an interface that inherits from and implement custom behavior for the methods.
+
+
+ ff728732
+ const char* Name
+ char Name
+
+
+
+
The macro definition.
+
+
+ ff728732
+ const char* Definition
+ char Definition
+
+
+
+ Initializes a new instance of the struct.
+
+
+ The name.
+
+
+ The definition.
+
+
+
+
+
The enumeration defines constants that indicate whether an audio stream will run in shared mode or in exclusive mode.
+
+
+
The IAudioClient::Initialize and IAudioClient::IsFormatSupported methods use the constants defined in the enumeration.
In shared mode, the client can share the audio endpoint device with clients that run in other user-mode processes. The audio engine always supports formats for client streams that match the engine's mix format. In addition, the audio engine might support another format if the Windows audio service can insert system effects into the client stream to convert the client format to the mix format.
In exclusive mode, the Windows audio service attempts to establish a connection in which the client has exclusive access to the audio endpoint device. In this mode, the audio engine inserts no system effects into the local stream to aid in the creation of the connection point. Either the audio device can handle the specified format directly or the method fails.
For more information about shared-mode and exclusive-mode streams, see User-Mode Audio Components.
The AudioSessionState enumeration defines constants that indicate the current state of an audio session.
+
+
+
When a client opens a session by assigning the first stream to the session (by calling the IAudioClient::Initialize method), the initial session state is inactive. The session state changes from inactive to active when a stream in the session begins running (because the client has called the IAudioClient::Start method). The session changes from active to inactive when the client stops the last running stream in the session (by calling the IAudioClient::Stop method). The session state changes to expired when the client destroys the last stream in the session by releasing all references to the stream object.
The system volume-control program, Sndvol, displays volume controls for both active and inactive sessions. Sndvol stops displaying the volume control for a session when the session state changes to expired. For more information about Sndvol, see Audio Sessions.
The IAudioSessionControl::GetState and IAudioSessionEvents::OnStateChanged methods use the constants defined in the AudioSessionState enumeration.
For more information about session states, see Audio Sessions.
The
+ enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the
+ ILockBytes::LockRegion and
+ methods.
The
+ enumeration values indicate whether the method should try to return a name in the pwcsName member of the
+ structure. The values are used in the
+ ILockBytes::Stat,
+ IStorage::Stat, and
+ methods to save memory when the pwcsName member is not required.
The
+ interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.
The
+ interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an
+ interface reference rather than a file handle.
The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.
Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.
Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous
+ IMoniker::BindToStorage operation and for receiving asynchronous notifications. See
+ URL Monikers for more information. The following table compares the behavior of asynchronous
+ and
+ calls returned in IBindStatusCallback::OnDataAvailable in these two download models:
+
+
+ aa380034
+ IStream
+ IStream
+
+
+
+
The
+ interface supports simplified sequential access to stream objects. The
+ interface inherits its
+ Read and
+ Write methods from
+ .
The
+ interface supports simplified sequential access to stream objects. The
+ interface inherits its
+ Read and
+ Write methods from
+ .
+
+
+ aa380010
+ ISequentialStream
+ ISequentialStream
+
+
+
+ Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.
+
+ The read buffer.
+ The number of bytes to read.
+ The actual number of bytes read from the stream object.
+
+
+
+ Writes a specified number of bytes into the stream object starting at the current seek pointer.
+
+ The buffer.
+ The number of bytes to read.
+ The actual number of bytes written to the stream object
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
The Read method reads a specified number of bytes from the stream object into memory, starting at the current seek reference.
+
+
A reference to the buffer which the stream data is read into.
+
The number of bytes of data to read from the stream object.
+
A reference to a ULONG variable that receives the actual number of bytes read from the stream object.
Note??The number of bytes read may be zero.
+
+
This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.
The number of bytes actually read is also returned in the pcbRead parameter.
Notes to Callers
The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.
The application should handle both a returned error and return values on end-of-stream read operations.
The Write method writes a specified number of bytes into the stream object starting at the current seek reference.
+
+
A reference to the buffer that contains the data that is to be written to the stream. A valid reference must be provided for this parameter even when cb is zero.
+
The number of bytes of data to attempt to write into the stream. This value can be zero.
+
A reference to a ULONG variable where this method writes the actual number of bytes written to the stream object. The caller can set this reference to null, in which case this method does not provide the actual number of bytes written.
+
+
writes the specified data to a stream object. The seek reference is adjusted for the number of bytes actually written. The number of bytes actually written is returned in the pcbWritten parameter. If the byte count is zero bytes, the write operation has no effect.
If the seek reference is currently past the end of the stream and the byte count is nonzero, this method increases the size of the stream to the seek reference and writes the specified bytes starting at the seek reference. The fill bytes written to the stream are not initialized to any particular value. This is the same as the end-of-file behavior in the MS-DOS FAT file system.
With a zero byte count and a seek reference past the end of the stream, this method does not create the fill bytes to increase the stream to the seek reference. In this case, you must call the
+ method to increase the size of the stream and write the fill bytes.
The pcbWritten parameter can have a value even if an error occurs.
In the COM-provided implementation, stream objects are not sparse. Any fill bytes are eventually allocated on the disk and assigned to the stream.
The
+ interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.
The
+ interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an
+ interface reference rather than a file handle.
The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.
Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.
Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous
+ IMoniker::BindToStorage operation and for receiving asynchronous notifications. See
+ URL Monikers for more information. The following table compares the behavior of asynchronous
+ and
+ calls returned in IBindStatusCallback::OnDataAvailable in these two download models:
+
+
+ aa380034
+ IStream
+ IStream
+
+
+
+ Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer.
+
+ The offset.
+ The origin.
+ The offset of the seek pointer from the beginning of the stream.
+
+
+
+ Changes the size of the stream object.
+
+ The new size.
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.
+
+ The stream destination.
+ The number of bytes to copy.
+ The number of bytes written.
+ The number of bytes read
+
+
+
+ Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
+
+ The GRF commit flags.
+
+
+
+ Discards all changes that have been made to a transacted stream since the last call.
+
+
+
+
+ Restricts access to a specified range of bytes in the stream.
+
+ The offset.
+ The number of bytes to lock.
+ Type of the dw lock.
+
+
+
+ Unlocks access to a specified range of bytes in the stream.
+
+ The offset.
+ The number of bytes to lock.
+ Type of the dw lock.
+
+
+
+ Gets the statistics.
+
+ The storage statistics flags.
+
+
+
+
+ Clones this instance.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
The Seek method changes the seek reference to a new location. The new location is relative to either the beginning of the stream, the end of the stream, or the current seek reference.
+
+
The displacement to be added to the location indicated by the dwOrigin parameter. If dwOrigin is STREAM_SEEK_SET, this is interpreted as an unsigned value rather than a signed value.
+
The origin for the displacement specified in dlibMove. The origin can be the beginning of the file (STREAM_SEEK_SET), the current seek reference (STREAM_SEEK_CUR), or the end of the file (STREAM_SEEK_END). For more information about values, see the STREAM_SEEK enumeration.
+
A reference to the location where this method writes the value of the new seek reference from the beginning of the stream.
You can set this reference to null. In this case, this method does not provide the new seek reference.
+
+
changes the seek reference so that subsequent read and write operations can be performed at a different location in the stream object. It is an error to seek before the beginning of the stream. It is not, however, an error to seek past the end of the stream. Seeking past the end of the stream is useful for subsequent write operations, as the stream byte range will be extended to the new seek position immediately before the write is complete.
You can also use this method to obtain the current value of the seek reference by calling this method with the dwOrigin parameter set to STREAM_SEEK_CUR and the dlibMove parameter set to 0 so that the seek reference is not changed. The current seek reference is returned in the plibNewPosition parameter.
The SetSize method changes the size of the stream object.
+
+
Specifies the new size of the stream as a number of bytes.
+
This method can return one of the following values.
The size of the stream object was successfully changed.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The stream size is not changed because there is no space left on the storage device.
STG_E_INVALIDFUNCTION
The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the
+ method if the seek reference is past the current end of stream.
If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.
The seek reference is not affected by the change in stream size.
Calling can be an effective way to obtain a large chunk of contiguous space.
The CopyTo method copies a specified number of bytes from the current seek reference in the stream to the current seek reference in another stream.
+
+
A reference to the destination stream. The stream pointed to by pstm can be a new stream or a clone of the source stream.
+
The number of bytes to copy from the source stream.
+
A reference to the location where this method writes the actual number of bytes written to the destination. You can set this reference to null. In this case, this method does not provide the actual number of bytes written.
+
A reference to the location where this method writes the actual number of bytes read from the source. You can set this reference to null. In this case, this method does not provide the actual number of bytes read.
+
+
The CopyTo method copies the specified bytes from one stream to another. It can also be used to copy a stream to itself. The seek reference in each stream instance is adjusted for the number of bytes read or written. This method is equivalent to reading cb bytes into memory using
+ and then immediately writing them to the destination stream using
+ , although will be more efficient.
The destination stream can be a clone of the source stream created by calling the
+ method.
If returns an error, you cannot assume that the seek references are valid for either the source or destination. Additionally, the values of pcbRead and pcbWritten are not meaningful even though they are returned.
If returns successfully, the actual number of bytes read and written are the same.
To copy the remainder of the source from the current seek reference, specify the maximum large integer value for the cb parameter. If the seek reference is the beginning of the stream, this operation copies the entire stream.
The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
+
+
Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.
+
This method can return one of the following values.
Changes to the stream object were successfully committed to the parent level.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The commit operation failed due to lack of space on the storage device.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see
+ - Compound File Implementation.
If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.
The method is useful on a direct mode stream when the implementation of the
+ interface is a wrapper for underlying file system APIs. In this case, would be connected to the file system's flush call.
The Revert method discards all changes that have been made to a transacted stream since the last
+ call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.
+
+
This method can return one of the following values.
The stream was successfully reverted to its previous version.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
+
+
The Revert method discards changes made to a transacted stream since the last commit operation.
The LockRegion method restricts access to a specified range of bytes in the stream. Supporting this functionality is optional since some file systems do not provide it.
+
+
Integer that specifies the byte offset for the beginning of the range.
+
Integer that specifies the length of the range, in bytes, to be restricted.
+
Specifies the restrictions being requested on accessing the range.
+
This method can return one of the following values.
The specified range of bytes was locked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
Requested lock is supported, but cannot be granted because of an existing lock.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.
Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the
+ enumeration.
Any region locked with must later be explicitly unlocked by calling
+ with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.
Notes to Callers
Since the type of locking supported is optional and can vary in different implementations of
+ , you must provide code to deal with the STG_E_INVALIDFUNCTION error.
The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.
Notes to Implementers
Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.
+
+
+ aa380039
+ HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+ IStream::LockRegion
+
+
+
+ No documentation.
+
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+
+ HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+ IStream::UnlockRegion
+
+
+
+
The Stat method retrieves the
+ structure for this stream.
+
+ No documentation.
+ No documentation.
+
+
retrieves a reference to the
+ structure that contains information about this open stream. When this stream is within a structured storage and
+ IStorage::EnumElements is called, it creates an enumerator object with the
+ IEnumSTATSTG interface on it, which can be called to enumerate the storages and streams through the
+ structures associated with each of them.
The Clone method creates a new stream object with its own seek reference that references the same bytes as the original stream.
+
+
When successful, reference to the location of an reference to the new stream object. If an error occurs, this parameter is null.
+
+
The Clone method creates a new stream object for accessing the same bytes but using a separate seek reference. The new stream object sees the same data as the source-stream object. Changes written to one object are immediately visible in the other. Range locking is shared between the stream objects.
The initial setting of the seek reference in the cloned stream instance is the same as the current setting of the seek reference in the original stream at the time of the clone operation.
+
+
+ aa380035
+ HRESULT IStream::Clone([Out] IStream** ppstm)
+ IStream::Clone
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.
+
+ The stream destination.
+ The number of bytes to copy.
+ The bytes written.
+ The number of bytes read from this instance
+
+
+
+ Gets a com pointer to the underlying object.
+
+ The stream.
+ A Com pointer
+
+
+
+
The
+ structure contains statistical data about an open storage, stream, or byte-array object. This structure is used in the
+ IEnumSTATSTG,
+ ILockBytes,
+ IStorage, and
+ interfaces.
+
+
+ aa380319
+ STATSTG
+ STATSTG
+
+
+
+ No documentation.
+
+
+ aa380319
+ wchar_t* pwcsName
+ wchar_t pwcsName
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int type
+ unsigned int type
+
+
+
+ No documentation.
+
+
+ aa380319
+ ULARGE_INTEGER cbSize
+ ULARGE_INTEGER cbSize
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME mtime
+ FILETIME mtime
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME ctime
+ FILETIME ctime
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME atime
+ FILETIME atime
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfMode
+ unsigned int grfMode
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfLocksSupported
+ unsigned int grfLocksSupported
+
+
+
+ No documentation.
+
+
+ aa380319
+ GUID clsid
+ GUID clsid
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfStateBits
+ unsigned int grfStateBits
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int reserved
+ unsigned int reserved
+
+
+
+ A half precision (16 bit) floating point value.
+
+
+
+
+ Number of decimal digits of precision.
+
+
+
+
+ Number of bits in the mantissa.
+
+
+
+
+ Maximum decimal exponent.
+
+
+
+
+ Maximum binary exponent.
+
+
+
+
+ Minimum decimal exponent.
+
+
+
+
+ Minimum binary exponent.
+
+
+
+
+ Exponent radix.
+
+
+
+
+ Additional rounding.
+
+
+
+
+ Smallest such that 1.0 + epsilon != 1.0
+
+
+
+
+ Maximum value of the number.
+
+
+
+
+ Minimum value of the number.
+
+
+
+
+ Initializes a new instance of the structure.
+
+ The floating point value that should be stored in 16 bit format.
+
+
+
+ Initializes a new instance of the structure.
+
+ The floating point value that should be stored in 16 bit format.
+
+
+
+ Converts an array of half precision values into full precision values.
+
+ The values to be converted.
+ An array of converted values.
+
+
+
+ Converts an array of full precision values into half precision values.
+
+ The values to be converted.
+ An array of converted values.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value to be converted.
+ The converted value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to be converted.
+ The converted value.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Converts the value of the object to its equivalent string representation.
+
+ The string representation of the value of this instance.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Gets or sets the raw 16 bit value used to back this half-float.
+
+
+
+
+ Defines a two component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for both the X and Y components.
+
+
+
+ Initializes a new instance of the structure.
+
+ Value to initialize X and Y components with.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Defines a three component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Gets or sets the Z component of the vector.
+
+ The Z component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for the X, Y, and Z components.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Defines a four component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Gets or sets the Z component of the vector.
+
+ The Z component of the vector.
+
+
+
+ Gets or sets the W component of the vector.
+
+ The W component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for the X, Y, Z, and W components.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Helper class to perform Half/Float conversion.
+ Code extract from paper : www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf by Jeroen van der Zijp
+
+
+
+
+ Unpacks the specified h.
+
+ The h.
+
+
+
+
+ Packs the specified f.
+
+ The f.
+
+
+
+
+ Represents a four dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0, 0).
+
+
+
+
+ The Z unit (0, 0, 1, 0).
+
+
+
+
+ The W unit (0, 0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ When the method completes, contains the modulated vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ The modulated vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The implementation of this class is filled by InteropBuilder post-building-event.
+
+
+
+
+ Provides a fixed statement working with generics.
+
+
+ The data.
+ A fixed pointer to the referenced structure
+
+ This is the only function in this class that is inlined in order to inline the fixed statement correctly.
+
+
+
+
+ The value for which all absolute numbers smaller than are considered equal to zero.
+
+
+
+
+ A value specifying the approximation of π which is 180 degrees.
+
+
+
+
+ A value specifying the approximation of 2Ï€ which is 360 degrees.
+
+
+
+
+ A value specifying the approximation of π/2 which is 90 degrees.
+
+
+
+
+ A value specifying the approximation of π/4 which is 45 degrees.
+
+
+
+
+ Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike method). See Remarks.
+ See remarks.
+
+ The left value to compare.
+ The right value to compare.
+ true if a almost equal to b, false otherwise
+
+ The code is using the technique described by Bruce Dawson in
+ Comparing Floating point numbers 2012 edition.
+
+
+
+
+ Determines whether the specified value is close to zero (0.0f).
+
+ The floating value.
+ true if the specified value is close to zero (0.0f); otherwise, false.
+
+
+
+ Determines whether the specified value is close to one (1.0f).
+
+ The floating value.
+ true if the specified value is close to one (1.0f); otherwise, false.
+
+
+
+ Checks if a - b are almost equals within a float epsilon.
+
+ The left value to compare.
+ The right value to compare.
+ Epsilon value
+ true if a almost equal to b within a float epsilon, false otherwise
+
+
+
+ Converts revolutions to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts revolutions to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts revolutions to gradians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts degrees to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts degrees to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to gradians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Clamps the specified value.
+
+ The value.
+ The min.
+ The max.
+ The result of clamping a value between min and max
+
+
+
+ Clamps the specified value.
+
+ The value.
+ The min.
+ The max.
+ The result of clamping a value between min and max
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Performs smooth (cubic Hermite) interpolation between 0 and 1.
+
+
+ See https://en.wikipedia.org/wiki/Smoothstep
+
+ Value between 0 and 1 indicating interpolation amount.
+
+
+
+ Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
+
+
+ See https://en.wikipedia.org/wiki/Smoothstep
+
+ Value between 0 and 1 indicating interpolation amount.
+
+
+
+ Calculates the modulo of the specified value.
+
+ The value.
+ The modulo.
+ The result of the modulo applied to value
+
+
+
+ Calculates the modulo 2*PI of the specified value.
+
+ The value.
+ The result of the modulo applied to value
+
+
+
+ Wraps the specified value into a range [min, max]
+
+ The value to wrap.
+ The min.
+ The max.
+ Result of the wrapping.
+ Is thrown when is greater than .
+
+
+
+ Wraps the specified value into a range [min, max[
+
+ The value.
+ The min.
+ The max.
+ Result of the wrapping.
+ Is thrown when is greater than .
+
+
+
+ Gauss function.
+
+ Curve amplitude.
+ Position X.
+ Position Y
+ Radius X.
+ Radius Y.
+ Curve sigma X.
+ Curve sigma Y.
+ The result of Gaussian function.
+
+
+
+ Gauss function.
+
+ Curve amplitude.
+ Position X.
+ Position Y
+ Radius X.
+ Radius Y.
+ Curve sigma X.
+ Curve sigma Y.
+ The result of Gaussian function.
+
+
+
+ Represents a 4x4 mathematical matrix.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the matrix.
+
+
+
+
+ Value at row 1 column 2 of the matrix.
+
+
+
+
+ Value at row 1 column 3 of the matrix.
+
+
+
+
+ Value at row 1 column 4 of the matrix.
+
+
+
+
+ Value at row 2 column 1 of the matrix.
+
+
+
+
+ Value at row 2 column 2 of the matrix.
+
+
+
+
+ Value at row 2 column 3 of the matrix.
+
+
+
+
+ Value at row 2 column 4 of the matrix.
+
+
+
+
+ Value at row 3 column 1 of the matrix.
+
+
+
+
+ Value at row 3 column 2 of the matrix.
+
+
+
+
+ Value at row 3 column 3 of the matrix.
+
+
+
+
+ Value at row 3 column 4 of the matrix.
+
+
+
+
+ Value at row 4 column 1 of the matrix.
+
+
+
+
+ Value at row 4 column 2 of the matrix.
+
+
+
+
+ Value at row 4 column 3 of the matrix.
+
+
+
+
+ Value at row 4 column 4 of the matrix.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the matrix.
+ The value to assign at row 1 column 2 of the matrix.
+ The value to assign at row 1 column 3 of the matrix.
+ The value to assign at row 1 column 4 of the matrix.
+ The value to assign at row 2 column 1 of the matrix.
+ The value to assign at row 2 column 2 of the matrix.
+ The value to assign at row 2 column 3 of the matrix.
+ The value to assign at row 2 column 4 of the matrix.
+ The value to assign at row 3 column 1 of the matrix.
+ The value to assign at row 3 column 2 of the matrix.
+ The value to assign at row 3 column 3 of the matrix.
+ The value to assign at row 3 column 4 of the matrix.
+ The value to assign at row 4 column 1 of the matrix.
+ The value to assign at row 4 column 2 of the matrix.
+ The value to assign at row 4 column 3 of the matrix.
+ The value to assign at row 4 column 4 of the matrix.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the matrix. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Calculates the determinant of the matrix.
+
+ The determinant of the matrix.
+
+
+
+ Inverts the matrix.
+
+
+
+
+ Transposes the matrix.
+
+
+
+
+ Orthogonalizes the specified matrix.
+
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R.
+
+ When the method completes, contains the orthonormalized matrix of the decomposition.
+ When the method completes, contains the right triangular matrix of the decomposition.
+
+
+
+ Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
+
+ When the method completes, contains the lower triangular matrix of the decomposition.
+ When the method completes, contains the orthonormalized matrix of the decomposition.
+
+
+
+ Decomposes a matrix into a scale, rotation, and translation.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+ When the method completes, contains the translation component of the decomposed matrix.
+
+ This method is designed to decompose an SRT transformation matrix only.
+
+
+
+
+ Decomposes a uniform scale matrix into a scale, rotation, and translation.
+ A uniform scale matrix has the same scale in every axis.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+ When the method completes, contains the translation component of the decomposed matrix.
+
+ This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
+
+
+
+
+ Exchanges two rows in the matrix.
+
+ The first row to exchange. This is an index of the row starting at zero.
+ The second row to exchange. This is an index of the row starting at zero.
+
+
+
+ Exchanges two columns in the matrix.
+
+ The first column to exchange. This is an index of the column starting at zero.
+ The second column to exchange. This is an index of the column starting at zero.
+
+
+
+ Creates an array containing the elements of the matrix.
+
+ A sixteen-element array containing the components of the matrix.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Performs the exponential operation on a matrix.
+
+ The matrix to perform the operation on.
+ The exponent to raise the matrix to.
+ When the method completes, contains the exponential matrix.
+ Thrown when the is negative.
+
+
+
+ Performs the exponential operation on a matrix.
+
+ The matrix to perform the operation on.
+ The exponent to raise the matrix to.
+ The exponential matrix.
+ Thrown when the is negative.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ When the method completes, contains the negated matrix.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ The negated matrix.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified matrix.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified matrix.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ The transpose of the specified matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ The inverse of the specified matrix.
+
+
+
+ Orthogonalizes the specified matrix.
+
+ The matrix to orthogonalize.
+ When the method completes, contains the orthogonalized matrix.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthogonalizes the specified matrix.
+
+ The matrix to orthogonalize.
+ The orthogonalized matrix.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+ The matrix to orthonormalize.
+ When the method completes, contains the orthonormalized matrix.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+ The matrix to orthonormalize.
+ The orthonormalized matrix.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Brings the matrix into upper triangular form using elementary row operations.
+
+ The matrix to put into upper triangular form.
+ When the method completes, contains the upper triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into upper triangular form using elementary row operations.
+
+ The matrix to put into upper triangular form.
+ The upper triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into lower triangular form using elementary row operations.
+
+ The matrix to put into lower triangular form.
+ When the method completes, contains the lower triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into lower triangular form using elementary row operations.
+
+ The matrix to put into lower triangular form.
+ The lower triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into row echelon form using elementary row operations;
+
+ The matrix to put into row echelon form.
+ When the method completes, contains the row echelon form of the matrix.
+
+
+
+ Brings the matrix into row echelon form using elementary row operations;
+
+ The matrix to put into row echelon form.
+ When the method completes, contains the row echelon form of the matrix.
+
+
+
+ Brings the matrix into reduced row echelon form using elementary row operations.
+
+ The matrix to put into reduced row echelon form.
+ The fifth column of the matrix.
+ When the method completes, contains the resultant matrix after the operation.
+ When the method completes, contains the resultant fifth column of the matrix.
+
+ The fifth column is often called the augmented part of the matrix. This is because the fifth
+ column is really just an extension of the matrix so that there is a place to put all of the
+ non-zero components after the operation is complete.
+ Often times the resultant matrix will the identity matrix or a matrix similar to the identity
+ matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.
+ This method can be used to solve systems of linear equations. Upon completion of this method,
+ the will contain the solution for the system. It is up to the user
+ to analyze both the input and the result to determine if a solution really exists.
+
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard matrix.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard matrix.
+
+
+
+ Creates a right-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard matrix.
+
+
+
+ Creates a right-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard matrix.
+
+
+
+ Creates a left-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at matrix.
+
+
+
+ Creates a left-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at matrix.
+
+
+
+ Creates a right-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at matrix.
+
+
+
+ Creates a right-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at matrix.
+
+
+
+ Creates a left-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Builds a matrix that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ When the method completes, contains the reflection matrix.
+
+
+
+ Builds a matrix that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ The reflection matrix.
+
+
+
+ Creates a matrix that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ When the method completes, contains the shadow matrix.
+
+
+
+ Creates a matrix that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ The shadow matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix from a quaternion.
+
+ The quaternion to use to build the matrix.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix from a quaternion.
+
+ The quaternion to use to build the matrix.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a rotation matrix with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ The created rotation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for all three coordinate planes.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for all three coordinate planes.
+ The created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ The created translation matrix.
+
+
+
+ Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle.
+ shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane.
+ The effect is such that the skewed rotation vector has the specified angle with rotation itself.
+
+ The rotation angle.
+ The rotation vector
+ The translation vector
+ Contains the created skew/shear matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created transformation matrix.
+
+
+
+ Creates a 2D transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a 2D transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created transformation matrix.
+
+
+
+ Adds two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Assert a matrix (return it unchanged).
+
+ The matrix to assert (unchanged).
+ The asserted (unchanged) matrix.
+
+
+
+ Subtracts two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to negate.
+ The negated matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Multiplies two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Divides two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets or sets the up of the matrix; that is M21, M22, and M23.
+
+
+
+
+ Gets or sets the down of the matrix; that is -M21, -M22, and -M23.
+
+
+
+
+ Gets or sets the right of the matrix; that is M11, M12, and M13.
+
+
+
+
+ Gets or sets the left of the matrix; that is -M11, -M12, and -M13.
+
+
+
+
+ Gets or sets the forward of the matrix; that is -M31, -M32, and -M33.
+
+
+
+
+ Gets or sets the backward of the matrix; that is M31, M32, and M33.
+
+
+
+
+ Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
+
+
+
+
+ Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
+
+
+
+
+ Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
+
+
+
+
+ Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
+
+
+
+
+ Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
+
+
+
+
+ Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
+
+
+
+
+ Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
+
+
+
+
+ Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
+
+
+
+
+ Gets or sets the translation of the matrix; that is M41, M42, and M43.
+
+
+
+
+ Gets or sets the scale of the matrix; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity matrix.
+
+
+ true if this instance is an identity matrix; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The row of the matrix to access.
+ The column of the matrix to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Generic sound input stream supporting WAV (Pcm,Float), ADPCM, xWMA sound file formats.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The sound stream.
+
+
+
+ Initializes the specified stream.
+
+ The stream.
+
+
+
+ Converts this stream to a DataStream by loading all the data from the source stream.
+
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The stream.
+
+ The result of the conversion.
+
+
+
+
+ When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
+
+
+ An I/O error occurs.
+
+
+
+
+ When overridden in a derived class, sets the position within the current stream.
+
+ A byte offset relative to the parameter.
+ A value of type indicating the reference point used to obtain the new position.
+
+ The new position within the current stream.
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support seeking, such as if the stream is constructed from a pipe or console output.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, sets the length of the current stream.
+
+ The desired length of the current stream in bytes.
+
+ An I/O error occurs.
+
+
+
+ The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+
+ An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source.
+ The zero-based byte offset in at which to begin storing the data read from the current stream.
+ The maximum number of bytes to be read from the current stream.
+
+ The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
+
+
+ The sum of and is larger than the buffer length.
+
+
+
+ is null.
+
+
+
+ or is negative.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support reading.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+ The sum of and is greater than the buffer length.
+
+
+
+ is null.
+
+
+
+ or is negative.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support writing.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ Gets the decoded packets info.
+
+
+ This property is only valid for XWMA stream.
+
+
+
+ Gets the wave format of this instance.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports reading.
+
+ true if the stream supports reading; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
+
+ true if the stream supports seeking; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports writing.
+
+ true if the stream supports writing; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets or sets the position within the current stream.
+
+
+ The current position within the stream.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support seeking.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, gets the length in bytes of the stream.
+
+
+ A long value representing the length of the stream in bytes.
+
+
+
+ A class derived from Stream does not support seeking.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ WaveFormatAdpcm
+ http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.xaudio2.adpcmwaveformat%28v=vs.85%29.aspx
+ Additional documentation: http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm
+
+ WAVEFORMATADPCM
+
+
+
+ Represents a Wave file format
+
+ WAVEFORMATEX
+
+
+ format type
+
+
+ number of channels
+
+
+ sample rate
+
+
+ for buffer estimation
+
+
+ block size of data
+
+
+ number of bits per sample of mono data
+
+
+ number of following bytes
+
+
+
+ Creates a new PCM 44.1Khz stereo 16 bit format
+
+
+
+
+ Creates a new 16 bit wave format with the specified sample
+ rate and channel count
+
+ Sample Rate
+ Number of channels
+
+
+
+ Gets the size of a wave buffer equivalent to the latency in milliseconds.
+
+ The milliseconds.
+
+
+
+
+ Creates a WaveFormat with custom members
+
+ The encoding
+ Sample Rate
+ Number of channels
+ Average Bytes Per Second
+ Block Align
+ Bits Per Sample
+
+
+
+
+ Creates an A-law wave format
+
+ Sample Rate
+ Number of Channels
+ Wave Format
+
+
+
+ Creates a Mu-law wave format
+
+ Sample Rate
+ Number of Channels
+ Wave Format
+
+
+
+ Creates a new PCM format with the specified sample rate, bit depth and channels
+
+
+
+
+ Creates a new 32 bit IEEE floating point wave format
+
+ sample rate
+ number of channels
+
+
+
+ Helper function to retrieve a WaveFormat structure from a pointer
+
+ Buffer to the WaveFormat rawdata
+ WaveFormat structure
+
+
+
+ Helper function to retrieve a WaveFormat structure from a pointer
+
+ Pointer to the WaveFormat rawdata
+ WaveFormat structure
+
+
+
+ Helper function to marshal WaveFormat to an IntPtr
+
+ WaveFormat
+ IntPtr to WaveFormat structure (needs to be freed by callee)
+
+
+
+ Reads a new WaveFormat object from a stream
+
+ A binary reader that wraps the stream
+
+
+
+ Reports this WaveFormat as a string
+
+ String describing the wave format
+
+
+
+ Compares with another WaveFormat object
+
+ Object to compare to
+ True if the objects are the same
+
+
+
+ Provides a hash code for this WaveFormat
+
+ A hash code
+
+
+
+ Reads or writes data from/to the given binary serializer.
+
+ The binary serializer.
+
+
+
+ Returns the encoding type used
+
+
+
+
+ Returns the number of channels (1=mono,2=stereo etc)
+
+
+
+
+ Returns the sample rate (samples per second)
+
+
+
+
+ Returns the average number of bytes used per second
+
+
+
+
+ Returns the block alignment
+
+
+
+
+ Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8)
+ Can be 0 for some codecs
+
+
+
+
+ Returns the number of extra bytes used by this waveformat. Often 0,
+ except for compressed formats which store extra data after the WAVEFORMATEX header
+
+
+
+ number of following bytes
+
+
+ format type
+
+
+ number of channels
+
+
+ sample rate
+
+
+ for buffer estimation
+
+
+ block size of data
+
+
+ number of bits per sample of mono data
+
+
+
+ Parameterless constructor for marshalling
+
+
+
+
+ Creates a new WaveFormatAdpcm for MicrosoftADPCM
+
+ The rate.
+ The channels.
+ The block align. If 0, then 256 for [0, 11KHz], 512 for ]11KHz, 22Khz], 1024 for ]22Khz, +inf]
+
+
+
+ Gets or sets the samples per block.
+
+
+ The samples per block.
+
+
+
+
+ Gets or sets the coefficients.
+
+
+ The coefficients.
+
+
+
+
+ Gets or sets the coefficients.
+
+
+ The coefficients.
+
+
+
+
+ A FourCC descriptor.
+
+
+
+
+ Empty FourCC.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as a string .
+
+
+
+ Initializes a new instance of the struct.
+
+ The byte1.
+ The byte2.
+ The byte3.
+ The byte4.
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as an uint.
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as an int.
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ A chunk of a Riff stream.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The stream holding this chunk
+ The type.
+ The size.
+ The data offset.
+ if set to true [is list].
+ if set to true [is header].
+
+
+
+ Gets the raw data contained in this chunk.
+
+
+
+
+
+ Gets structured data contained in this chunk.
+
+ The type of the data to return
+
+ A structure filled with the chunk data
+
+
+
+
+ Gets structured data contained in this chunk.
+
+ The type of the data to return
+ A structure filled with the chunk data
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets the type.
+
+
+
+
+ Gets the of this chunk.
+
+
+
+
+ Gets the size of the data embedded by this chunk.
+
+
+
+
+ Gets the position of the data embedded by this chunk relative to the stream.
+
+
+
+
+ Gets or sets a value indicating whether this instance is a list chunk.
+
+
+ true if this instance is list; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a header chunk.
+
+
+ true if this instance is a header; otherwise, false.
+
+
+
+
+ Riff chunk enumerator.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The input.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Advances the enumerator to the next element of the collection.
+
+
+ true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Ascends to the outer chunk.
+
+
+
+
+ Descends to the current chunk.
+
+
+
+
+ Gets all chunks.
+
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Gets the current stack of chunks.
+
+
+
+
+ Gets the element in the collection at the current position of the enumerator.
+
+
+ The element in the collection at the current position of the enumerator.
+
+
+
+
+ Helper class for Speaker mask.
+
+
+
+
+ Counts the channels from a speaker mask.
+
+ The speakers mask.
+
+
+
+
+ WaveFormatExtensible
+ http://www.microsoft.com/whdc/device/audio/multichaud.mspx
+
+ WAVEFORMATEXTENSIBLE
+
+
+
+ Guid of the subformat.
+
+
+
+
+ Speaker configuration
+
+
+
+
+ Parameterless constructor for marshalling
+
+
+
+
+ Creates a new WaveFormatExtensible for PCM or IEEE
+
+
+
+
+ String representation
+
+
+
+
+ The namespace contains fundamental classes used by SharpDX.
+
+
+
+
+ A general purpose tag attribute.
+
+
+
+
+ Initializes a new instance of class.
+
+
+
+
+
+ Gets the value.
+
+
+
+
+ Overrides in order to provide for Win8 Modern App.
+
+
+
+
+
+ Provides a basic implementation to replace (not available on Win8 Modern App).
+
+
+
+
+ The namespace provides missing ASCIIEncoding for Win8 Modern platform.
+
+
+
+
+ This provides timing information similar to but an update occurring only on a method.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resets this instance. is set to zero.
+
+
+
+
+ Resumes this instance, only if a call to has been already issued.
+
+
+
+
+ Update the and ,
+
+
+ This method must be called on a regular basis at every *tick*.
+
+
+
+
+ Pauses this instance.
+
+
+
+
+ Converts a raw time to a .
+
+ The delta.
+ The .
+
+
+
+ Gets the total time elapsed since the last reset or when this timer was created.
+
+
+
+
+ Gets the elapsed adjusted time since the previous call to taking into account time.
+
+
+
+
+ Gets the elapsed time since the previous call to .
+
+
+
+
+ Gets a value indicating whether this instance is paused.
+
+ true if this instance is paused; otherwise, false.
+
+
+
+ Defines the viewport dimensions.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Width dimension of the viewport.
+
+
+
+
+ Height dimension of the viewport.
+
+
+
+
+ Gets or sets the minimum depth of the clip volume.
+
+
+
+
+ Gets or sets the maximum depth of the clip volume.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+ The minimum depth of the clip volume.
+ The maximum depth of the clip volume.
+
+
+
+ Initializes a new instance of the struct.
+
+ A bounding box that defines the location and size of the viewport in a render target.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified object is equal to this instance.
+
+ The object to compare with this instance.
+
+ true if the specified object is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Retrieves a string representation of this object.
+
+ A that represents this instance.
+
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ A combined WorldViewProjection matrix.
+ The projected vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ The projection matrix.
+ The view matrix.
+ The world matrix.
+ The unprojected Vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ An inverted combined WorldViewProjection matrix.
+ The unprojected vector.
+
+
+
+ Gets the size of this resource.
+
+ The bounds.
+
+
+
+ Gets the aspect ratio used by the viewport.
+
+ The aspect ratio.
+
+
+
+ Internal class to interact with Native Message
+
+
+
+
+ Represents a plane in three dimensional space.
+
+
+
+
+ The normal vector of the plane.
+
+
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+
+ Initializes a new instance of the class.
+
+ Any point that lies along the plane.
+ The normal vector to the plane.
+
+
+
+ Initializes a new instance of the struct.
+
+ The normal of the plane.
+ The distance of the plane along its normal from the origin
+
+
+
+ Initializes a new instance of the struct.
+
+ First point of a triangle defining the plane.
+ Second point of a triangle defining the plane.
+ Third point of a triangle defining the plane.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the A, B, C, and D components of the plane. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+
+
+
+ Creates an array containing the elements of the plane.
+
+ A four-element array containing the components of the plane.
+
+
+
+ Determines if there is an intersection between the current object and a point.
+
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the line of intersection
+ as a , or a zero ray if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Scales the plane by the given scaling factor.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ When the method completes, contains the scaled plane.
+
+
+
+ Scales the plane by the given scaling factor.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ The scaled plane.
+
+
+
+ Calculates the dot product of the specified vector and plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of the specified plane and vector.
+
+
+
+ Calculates the dot product of the specified vector and plane.
+
+ The source plane.
+ The source vector.
+ The dot product of the specified plane and vector.
+
+
+
+ Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of a specified vector and the normal of the Plane plus the distance value of the plane.
+
+
+
+ Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
+
+ The source plane.
+ The source vector.
+ The dot product of a specified vector and the normal of the Plane plus the distance value of the plane.
+
+
+
+ Calculates the dot product of the specified vector and the normal of the plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of the specified vector and the normal of the plane.
+
+
+
+ Calculates the dot product of the specified vector and the normal of the plane.
+
+ The source plane.
+ The source vector.
+ The dot product of the specified vector and the normal of the plane.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+ The source plane.
+ When the method completes, contains the normalized plane.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+ The source plane.
+ The normalized plane.
+
+
+
+ Transforms a normalized plane by a quaternion rotation.
+
+ The normalized source plane.
+ The quaternion rotation.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms a normalized plane by a quaternion rotation.
+
+ The normalized source plane.
+ The quaternion rotation.
+ The transformed plane.
+
+
+
+ Transforms an array of normalized planes by a quaternion rotation.
+
+ The array of normalized planes to transform.
+ The quaternion rotation.
+ Thrown when is null.
+
+
+
+ Transforms a normalized plane by a matrix.
+
+ The normalized source plane.
+ The transformation matrix.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms a normalized plane by a matrix.
+
+ The normalized source plane.
+ The transformation matrix.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms an array of normalized planes by a matrix.
+
+ The array of normalized planes to transform.
+ The transformation matrix.
+ Thrown when is null.
+
+
+
+ Scales a plane by the given value.
+
+ The amount by which to scale the plane.
+ The plane to scale.
+ The scaled plane.
+
+
+
+ Scales a plane by the given value.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ The scaled plane.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the A, B, C, or D component, depending on the index.
+ The index of the component to access. Use 0 for the A component, 1 for the B component, 2 for the C component, and 3 for the D component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a four dimensional mathematical quaternion.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The identity (0, 0, 0, 1).
+
+
+
+
+ The X component of the quaternion.
+
+
+
+
+ The Y component of the quaternion.
+
+
+
+
+ The Z component of the quaternion.
+
+
+
+
+ The W component of the quaternion.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the components.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X, Y, and Z components.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the quaternion.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the quaternion.
+ Initial value for the Y component of the quaternion.
+ Initial value for the Z component of the quaternion.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Conjugates the quaternion.
+
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+
+
+
+ Calculates the length of the quaternion.
+
+ The length of the quaternion.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the quaternion.
+
+ The squared length of the quaternion.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+
+
+
+ Creates an array containing the elements of the quaternion.
+
+ A four-element array containing the components of the quaternion.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ When the method completes, contains the sum of the two quaternions.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ The sum of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ When the method completes, contains the difference of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ The difference of the two quaternions.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ When the method completes, contains the scaled quaternion.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ When the method completes, contains the multiplied quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ The multiplied quaternion.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ When the method completes, contains a quaternion facing in the opposite direction.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ A quaternion facing in the opposite direction.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Conjugates a quaternion.
+
+ The quaternion to conjugate.
+ When the method completes, contains the conjugated quaternion.
+
+
+
+ Conjugates a quaternion.
+
+ The quaternion to conjugate.
+ The conjugated quaternion.
+
+
+
+ Calculates the dot product of two quaternions.
+
+ First source quaternion.
+ Second source quaternion.
+ When the method completes, contains the dot product of the two quaternions.
+
+
+
+ Calculates the dot product of two quaternions.
+
+ First source quaternion.
+ Second source quaternion.
+ The dot product of the two quaternions.
+
+
+
+ Exponentiates a quaternion.
+
+ The quaternion to exponentiate.
+ When the method completes, contains the exponentiated quaternion.
+
+
+
+ Exponentiates a quaternion.
+
+ The quaternion to exponentiate.
+ The exponentiated quaternion.
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+ The quaternion to conjugate and renormalize.
+ When the method completes, contains the conjugated and renormalized quaternion.
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+ The quaternion to conjugate and renormalize.
+ The conjugated and renormalized quaternion.
+
+
+
+ Performs a linear interpolation between two quaternions.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two quaternions.
+
+ This method performs the linear interpolation based on the following formula.
+ start + (end - start) * amount
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two quaternion.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two quaternions.
+
+ This method performs the linear interpolation based on the following formula.
+ start + (end - start) * amount
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Calculates the natural logarithm of the specified quaternion.
+
+ The quaternion whose logarithm will be calculated.
+ When the method completes, contains the natural logarithm of the quaternion.
+
+
+
+ Calculates the natural logarithm of the specified quaternion.
+
+ The quaternion whose logarithm will be calculated.
+ The natural logarithm of the quaternion.
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+ The quaternion to normalize.
+ When the method completes, contains the normalized quaternion.
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+
+ Creates a quaternion given a rotation and an axis.
+
+ The axis of rotation.
+ The angle of rotation.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation and an axis.
+
+ The axis of rotation.
+ The angle of rotation.
+ The newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The right vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The right vector of the quaternion
+ The newly created quaternion
+
+
+
+ Creates a quaternion given left-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given left-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given right-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given right-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ The newly created quaternion.
+
+
+
+ Creates a quaternion given a yaw, pitch, and roll value.
+
+ The yaw of rotation.
+ The pitch of rotation.
+ The roll of rotation.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a yaw, pitch, and roll value.
+
+ The yaw of rotation.
+ The pitch of rotation.
+ The roll of rotation.
+ The newly created quaternion.
+
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the spherical linear interpolation of the two quaternions.
+
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ The spherical linear interpolation of the two quaternions.
+
+
+
+ Interpolates between quaternions, using spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ Value between 0 and 1 indicating the weight of interpolation.
+ When the method completes, contains the spherical quadrangle interpolation of the quaternions.
+
+
+
+ Interpolates between quaternions, using spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ Value between 0 and 1 indicating the weight of interpolation.
+ The spherical quadrangle interpolation of the quaternions.
+
+
+
+ Sets up control points for spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ An array of three quaternions that represent control points for spherical quadrangle interpolation.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ The sum of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ The difference of the two quaternions.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ A quaternion facing in the opposite direction.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ The multiplied quaternion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is equivalent to the identity quaternion.
+
+
+ true if this instance is an identity quaternion; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets the angle of the quaternion.
+
+ The quaternion's angle.
+
+
+
+ Gets the axis components of the quaternion.
+
+ The axis components of the quaternion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a three dimensional line based on a point in space and a direction.
+
+
+
+
+ The position in three dimensional space where the ray starts.
+
+
+
+
+ The normalized direction in which the ray points.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The position in three dimensional space of the origin of the ray.
+ The normalized direction of the ray.
+
+
+
+ Determines if there is an intersection between the current object and a point.
+
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Calculates a world space from 2d screen coordinates.
+
+ X coordinate on 2d screen.
+ Y coordinate on 2d screen.
+ .
+ Transformation .
+ Resulting .
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Define a Rectangle. This structure is slightly different from System.Drawing.Rectangle as it is
+ internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height.
+
+
+
+
+ An empty rectangle.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The left.
+ The top.
+ The width.
+ The height.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ Change in the x-position.
+ Change in the y-position.
+
+
+ Pushes the edges of the rectangle out by the horizontal and vertical values specified.
+ Value to push the sides out by.
+ Value to push the top and bottom out by.
+
+
+ Determines whether this rectangle contains a specified point represented by its x- and y-coordinates.
+ The x-coordinate of the specified point.
+ The y-coordinate of the specified point.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+ [OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+ [OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.
+
+
+
+ Checks, if specified point is inside .
+
+ X point coordinate.
+ Y point coordinate.
+ true if point is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+ The rectangle to evaluate.
+
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+
+ The rectangle to evaluate
+ [OutAttribute] true if the specified rectangle intersects with this one; false otherwise.
+
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+
+ The first rectangle to compare.
+ The second rectangle to compare.
+ The intersection rectangle.
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+ The first rectangle to compare.
+ The second rectangle to compare.
+ [OutAttribute] The area where the two first parameters overlap.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ The union rectangle.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ [OutAttribute] The rectangle that must be the union of the first two rectangles.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an implicit conversion to the structure.
+
+ Performs direct converstion from int to float.
+ The source value.
+ The converted structure.
+
+
+
+
+
+
+ Gets or sets the left.
+
+ The left.
+
+
+
+ Gets or sets the top.
+
+ The top.
+
+
+
+ Gets or sets the right.
+
+ The right.
+
+
+
+ Gets or sets the bottom.
+
+ The bottom.
+
+
+
+ Gets or sets the X position.
+
+ The X position.
+
+
+
+ Gets or sets the Y position.
+
+ The Y position.
+
+
+
+ Gets or sets the width.
+
+ The width.
+
+
+
+ Gets or sets the height.
+
+ The height.
+
+
+
+ Gets or sets the location.
+
+
+ The location.
+
+
+
+
+ Gets the Point that specifies the center of the rectangle.
+
+
+ The center.
+
+
+
+
+ Gets a value that indicates whether the rectangle is empty.
+
+
+ true if [is empty]; otherwise, false.
+
+
+
+
+ Gets or sets the size of the rectangle.
+
+ The size of the rectangle.
+
+
+
+ Gets the position of the top-left corner of the rectangle.
+
+ The top-left corner of the rectangle.
+
+
+
+ Gets the position of the top-right corner of the rectangle.
+
+ The top-right corner of the rectangle.
+
+
+
+ Gets the position of the bottom-left corner of the rectangle.
+
+ The bottom-left corner of the rectangle.
+
+
+
+ Gets the position of the bottom-right corner of the rectangle.
+
+ The bottom-right corner of the rectangle.
+
+
+
+ Define a RectangleF. This structure is slightly different from System.Drawing.RectangleF as it is
+ internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height.
+
+
+
+
+ An empty rectangle
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The left.
+ The top.
+ The width.
+ The height.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ Change in the x-position.
+ Change in the y-position.
+
+
+ Pushes the edges of the rectangle out by the horizontal and vertical values specified.
+ Value to push the sides out by.
+ Value to push the top and bottom out by.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+ [OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+ [OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.
+
+
+
+ Checks, if specified point is inside .
+
+ X point coordinate.
+ Y point coordinate.
+ true if point is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+ The rectangle to evaluate.
+
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+
+ The rectangle to evaluate
+ [OutAttribute] true if the specified rectangle intersects with this one; false otherwise.
+
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+
+ The first Rectangle to compare.
+ The second Rectangle to compare.
+ The intersection rectangle.
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+ The first rectangle to compare.
+ The second rectangle to compare.
+ [OutAttribute] The area where the two first parameters overlap.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ The union rectangle.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ [OutAttribute] The rectangle that must be the union of the first two rectangles.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an explicit conversion to structure.
+
+ Performs direct float to int conversion, any fractional data is truncated.
+ The source value.
+ A converted structure.
+
+
+
+
+
+
+ Gets or sets the X position of the left edge.
+
+ The left.
+
+
+
+ Gets or sets the top.
+
+ The top.
+
+
+
+ Gets or sets the right.
+
+ The right.
+
+
+
+ Gets or sets the bottom.
+
+ The bottom.
+
+
+
+ Gets or sets the X position.
+
+ The X position.
+
+
+
+ Gets or sets the Y position.
+
+ The Y position.
+
+
+
+ Gets or sets the width.
+
+ The width.
+
+
+
+ Gets or sets the height.
+
+ The height.
+
+
+
+ Gets or sets the location.
+
+
+ The location.
+
+
+
+
+ Gets the Point that specifies the center of the rectangle.
+
+
+ The center.
+
+
+
+
+ Gets a value that indicates whether the rectangle is empty.
+
+
+ true if [is empty]; otherwise, false.
+
+
+
+
+ Gets or sets the size of the rectangle.
+
+ The size of the rectangle.
+
+
+
+ Gets the position of the top-left corner of the rectangle.
+
+ The top-left corner of the rectangle.
+
+
+
+ Gets the position of the top-right corner of the rectangle.
+
+ The top-right corner of the rectangle.
+
+
+
+ Gets the position of the bottom-left corner of the rectangle.
+
+ The bottom-left corner of the rectangle.
+
+
+
+ Gets the position of the bottom-right corner of the rectangle.
+
+ The bottom-right corner of the rectangle.
+
+
+
+ Result structure for COM methods.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The HRESULT error code.
+
+
+
+ Initializes a new instance of the struct.
+
+ The HRESULT error code.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+ An object to compare with this object.
+
+ true if the current object is equal to the parameter; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Checks the error.
+
+
+
+
+ Gets a from an .
+
+ The exception
+ The associated result code
+
+
+
+ Gets the result from win32 error.
+
+ The win32Error.
+ A HRESULT.
+
+
+
+ Result code Ok
+
+ S_OK
+
+
+
+ Result code False
+
+ S_FALSE
+
+
+
+ Result code Abort
+
+ E_ABORT
+
+
+
+ Result code AccessDenied
+
+ E_ACCESSDENIED
+
+
+
+ Result code Fail
+
+ E_FAIL
+
+
+
+ Result code Handle
+
+ E_HANDLE
+
+
+
+ Result code invalid argument
+
+ E_INVALIDARG
+
+
+
+ Result code no interface
+
+ E_NOINTERFACE
+
+
+
+ Result code not implemented
+
+ E_NOTIMPL
+
+
+
+ Result code out of memory
+
+ E_OUTOFMEMORY
+
+
+
+ Result code Invalid pointer
+
+ E_POINTER
+
+
+
+ Unexpected failure
+
+ E_UNEXPECTED
+
+
+
+ Result of a wait abandonned.
+
+ WAIT_ABANDONED
+
+
+
+ Result of a wait timeout.
+
+ WAIT_TIMEOUT
+
+
+
+ Gets the HRESULT error code.
+
+ The HRESULT error code.
+
+
+
+ Gets a value indicating whether this is success.
+
+ true if success; otherwise, false.
+
+
+
+ Gets a value indicating whether this is failure.
+
+ true if failure; otherwise, false.
+
+
+
+ The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer.
+ Equivalent to Windows type SIZE_T.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The size.
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Adds two sizes.
+
+ The first size to add.
+ The second size to add.
+ The sum of the two sizes.
+
+
+
+ Assert a size (return it unchanged).
+
+ The size to assert (unchanged).
+ The asserted (unchanged) size.
+
+
+
+ Subtracts two sizes.
+
+ The first size to subtract.
+ The second size to subtract.
+ The difference of the two sizes.
+
+
+
+ Reverses the direction of a given size.
+
+ The size to negate.
+ A size facing in the opposite direction.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from void* to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to void*.
+
+ The value.
+ The result of the conversion.
+
+
+
+ A Delegate to get a property value from an object.
+
+ Type of the getter.
+ The obj to get the property from.
+ The value to get.
+
+
+
+ A Delegate to set a property value to an object.
+
+ Type of the setter.
+ The obj to set the property from.
+ The value to set.
+
+
+
+ Utility class.
+
+
+
+
+ Native memcpy.
+
+ The destination memory location.
+ The source memory location.
+ The byte count.
+
+
+
+ Compares two block of memory.
+
+ The pointer to compare from.
+ The pointer to compare against.
+ The size in bytes to compare.
+ true if the buffers are equivalent; otherwise, false.
+
+
+
+ Clears the memory.
+
+ The dest.
+ The value.
+ The size in bytes to clear.
+
+
+
+ Return the sizeof a struct from a CLR. Equivalent to sizeof operator but works on generics too.
+
+ A struct to evaluate.
+ Size of this struct.
+
+
+
+ Return the sizeof an array of struct. Equivalent to sizeof operator but works on generics too.
+
+ A struct.
+ The array of struct to evaluate.
+ Size in bytes of this array of struct.
+
+
+
+ Pins the specified source and call an action with the pinned pointer.
+
+ The type of the structure to pin.
+ The source.
+ The pin action to perform on the pinned pointer.
+
+
+
+ Pins the specified source and call an action with the pinned pointer.
+
+ The type of the structure to pin.
+ The source array.
+ The pin action to perform on the pinned pointer.
+
+
+
+ Converts a structured array to an equivalent byte array.
+
+ The type of source array.
+ The source array.
+ Converted byte array.
+
+
+
+ Swaps the value between two references.
+
+ Type of a data to swap.
+ The left value.
+ The right value.
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data read from the memory location.
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified array T[] data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ The offset in the array to write to.
+ The number of T element to read from the memory location.
+ source pointer + sizeof(T) * count.
+
+
+
+ Writes the specified T data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The data to write.
+ destination pointer + sizeof(T).
+
+
+
+ Writes the specified T data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The data to write.
+ destination pointer + sizeof(T).
+
+
+
+ Writes the specified array T[] data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The array of T data to write.
+ The offset in the array to read from.
+ The number of T element to write to the memory location.
+ destination pointer + sizeof(T) * count.
+
+
+
+ Converts bool array to integer pointers array.
+
+ The bool array.
+ The destination array of int pointers.
+
+
+
+ Converts bool array to array.
+
+ The bool array.
+ Converted array of .
+
+
+
+ Converts integer pointer array to bool array.
+
+ The array of integer pointers.
+ Array size.
+ Converted array of bool.
+
+
+
+ Converts array to bool array.
+
+ The array.
+ Converted array of bool.
+
+
+
+ Gets the from a type.
+
+ The type.
+ The guid associated with this type.
+
+
+
+ Determines whether a given type inherits from a generic type.
+
+ Type of the class to check if it inherits from generic type.
+ Type of the generic.
+ true if [is assignable to generic type] [the specified given type]; otherwise, false.
+
+
+
+ Allocate an aligned memory buffer.
+
+ Size of the buffer to allocate.
+ Alignment, 16 bytes by default.
+ A pointer to a buffer aligned.
+
+ To free this buffer, call .
+
+
+
+
+ Allocate an aligned memory buffer and clear it with a specified value (0 by default).
+
+ Size of the buffer to allocate.
+ Default value used to clear the buffer.
+ Alignment, 16 bytes by default.
+ A pointer to a buffer aligned.
+
+ To free this buffer, call .
+
+
+
+
+ Determines whether the specified memory pointer is aligned in memory.
+
+ The memory pointer.
+ The align.
+ true if the specified memory pointer is aligned in memory; otherwise, false.
+
+
+
+ Allocate an aligned memory buffer.
+
+ A pointer to a buffer aligned.
+
+ The buffer must have been allocated with .
+
+
+
+
+ Converts a pointer to a null-terminating string up to maxLength characters to a .Net string.
+
+ The pointer to an ANSI null string.
+ Maximum length of the string.
+ The converted string.
+
+
+
+ Converts a pointer to a null-terminating string up to maxLength characters to a .Net string.
+
+ The pointer to an Unicode null string.
+ Maximum length of the string.
+ The converted string.
+
+
+
+ Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Copies the contents of a managed String into unmanaged memory.
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Copies the contents of a managed String into unmanaged memory using
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Gets the IUnknown from object. Similar to but accept null object
+ by returning an IntPtr.Zero IUnknown pointer.
+
+ The managed object.
+ An IUnknown pointer to a managed object.
+
+
+
+ Gets an object from an IUnknown pointer. Similar to but accept IntPtr.Zero
+ by returning a null object.
+
+ an IUnknown pointer to a managed object.
+ The managed object.
+
+
+
+ String helper join method to display an array of object as a single string.
+
+ The separator.
+ The array.
+ A string with array elements separated by the separator.
+
+
+
+ String helper join method to display an enumerable of object as a single string.
+
+ The separator.
+ The enumerable.
+ A string with array elements separated by the separator.
+
+
+
+ String helper join method to display an enumerable of object as a single string.
+
+ The separator.
+ The enumerable.
+ A string with array elements separated by the separator.
+
+
+
+ Converts a blob to a string.
+
+ A blob.
+ A string extracted from a blob.
+
+
+
+ Equivalent to IntPtr.Add method from 3.5+ .NET Framework.
+ Adds an offset to the value of a pointer.
+
+ A native pointer.
+ The offset to add (number of bytes).
+ A new pointer that reflects the addition of offset to pointer.
+
+
+
+ Read stream to a byte[] buffer.
+
+ Input stream.
+ A byte[] buffer.
+
+
+
+ Read stream to a byte[] buffer.
+
+ Input stream.
+ Length to read.
+ A byte[] buffer.
+
+
+
+ Compares two collection, element by elements.
+
+ A "from" enumerator.
+ A "to" enumerator.
+ true if lists are identical, false otherwise.
+
+
+
+ Compares two collection, element by elements.
+
+ A "from" enumerator.
+ A "to" enumerator.
+ true if lists are identical; otherwise, false.
+
+
+
+ Compares two collection, element by elements.
+
+ The collection to compare from.
+ The collection to compare to.
+ true if lists are identical (but not necessarily of the same time); otherwise , false.
+
+
+
+ Gets the custom attribute.
+
+ Type of the custom attribute.
+ The member info.
+ if set to true [inherited].
+ The custom attribute or null if not found.
+
+
+
+ Gets the custom attributes.
+
+ Type of the custom attribute.
+ The member info.
+ if set to true [inherited].
+ The custom attribute or null if not found.
+
+
+
+ Determines whether fromType can be assigned to toType.
+
+ To type.
+ From type.
+
+ true if [is assignable from] [the specified to type]; otherwise, false.
+
+
+
+
+ Determines whether the specified type to test is an enum.
+
+ The type to test.
+
+ true if the specified type to test is an enum; otherwise, false.
+
+
+
+
+ Determines whether the specified type to test is a value type.
+
+ The type to test.
+
+ true if the specified type to test is a value type; otherwise, false.
+
+
+
+
+ Builds a fast property getter from a type and a property info.
+
+ Type of the getter.
+ Type of the custom effect.
+ The property info to get the value from.
+ A compiled delegate.
+
+
+
+ Builds a fast property setter from a type and a property info.
+
+ Type of the setter.
+ Type of the custom effect.
+ The property info to set the value to.
+ A compiled delegate.
+
+
+
+ Suspends the current thread of a .
+
+ The duration to sleep in milliseconds.
+
+
+
+ Finds an explicit conversion between a source type and a target type.
+
+ Type of the source.
+ Type of the target.
+ The method to perform the conversion. null if not found.
+
+
+
+ Loads a native library.
+
+ Name of the DLL.
+ If DLL was not found.
+ Handle to the module.
+
+
+
+ Gets the proc address of a DLL.
+
+ The handle.
+ The DLL function to import.
+ If the function was not found.
+ Pointer to address of the exported function or variable.
+
+
+
+ Compute a FNV1-modified Hash from Fowler/Noll/Vo Hash improved version.
+
+ Data to compute the hash from.
+ A hash value.
+
+
+
+ Safely dispose a reference if not null, and set it to null after dispose.
+
+ The type of COM interface to dispose.
+ Object to dispose.
+
+ The reference will be set to null after dispose.
+
+
+
+
+ Transforms an to an array of T.
+
+ Type of the element
+ The enumerable source.
+ an array of T
+
+
+
+ Test if there is an element in this enumeration.
+
+ Type of the element
+ The enumerable source.
+ true if there is an element in this enumeration, false otherwise
+
+
+
+ Select elements from an enumeration.
+
+ The type of the T source.
+ The type of the T result.
+ The source.
+ The selector.
+ A enumeration of selected values
+
+
+
+ Selects distinct elements from an enumeration.
+
+ The type of the T source.
+ The source.
+ The comparer.
+ A enumeration of selected values
+
+
+
+ Determines whether the type inherits from the specified type (used to determine a type without using an explicit type instance).
+
+ The type.
+ Name of the parent type to find in inheritance hierarchy of type.
+ true if the type inherits from the specified type; otherwise, false.
+
+
+ Determines the concurrency model used for incoming calls to objects created by this thread. This concurrency model can be either apartment-threaded or multi-threaded.
+
+
+
+ Initializes the thread for apartment-threaded object concurrency.
+
+
+
+
+ Initializes the thread for multi-threaded object concurrency.
+
+
+
+
+ Disables DDE for OLE1 support.
+
+
+
+
+ Trade memory for speed.
+
+
+
+
+ Represents a two dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0).
+
+
+
+
+ The Y unit (0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X and Y components of the vector. This must be an array with two elements.
+ Thrown when is null.
+ Thrown when contains more or less than two elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A two-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 2D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 2D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Saturates this instance in the range [0,1]
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ When the method completes, contains the reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ The reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 2D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 2D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 2D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 2D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 2D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ When the method completes, contains the transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ The transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation on an array of vectors using the given .
+
+ The array of coordinate vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ When the method completes, contains the transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ The transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation on an array of vectors using the given .
+
+ The array of normal vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X or Y component, depending on the index.
+ The index of the component to access. Use 0 for the X component and 1 for the Y component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 1].
+
+
+
+ Represents a three dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0).
+
+
+
+
+ The Z unit (0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ A unit designating up (0, 1, 0).
+
+
+
+
+ A unit designating down (0, -1, 0).
+
+
+
+
+ A unit designating left (-1, 0, 0).
+
+
+
+
+ A unit designating right (1, 0, 0).
+
+
+
+
+ A unit designating forward in a right-handed coordinate system (0, 0, -1).
+
+
+
+
+ A unit designating forward in a left-handed coordinate system (0, 0, 1).
+
+
+
+
+ A unit designating backward in a right-handed coordinate system (0, 0, 1).
+
+
+
+
+ A unit designating backward in a left-handed coordinate system (0, 0, -1).
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.
+ Thrown when is null.
+ Thrown when contains more or less than three elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A three-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiply a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiply a vector with another by performing component-wise multiplication.
+
+ The first vector to Multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
+
+ A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 3D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
+
+ A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 3D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Calculates the cross product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains he cross product of the two vectors.
+
+
+
+ Calculates the cross product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The cross product of the two vectors.
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Tests whether one 3D vector is near another 3D vector.
+
+ The left vector.
+ The right vector.
+ The epsilon.
+ true if left and right are near another 3D, false otherwise
+
+
+
+ Tests whether one 3D vector is near another 3D vector.
+
+ The left vector.
+ The right vector.
+ The epsilon.
+ true if left and right are near another 3D, false otherwise
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ When the method completes, contains the vector in screen space.
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ The vector in screen space.
+
+
+
+ Projects a 3D vector from screen space into object space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ When the method completes, contains the vector in object space.
+
+
+
+ Projects a 3D vector from screen space into object space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ The vector in object space.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ When the method completes, contains the reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ The reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 3D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 3D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ When the method completes, contains the transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ The transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation on an array of vectors using the given .
+
+ The array of coordinate vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ When the method completes, contains the transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ The transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation on an array of vectors using the given .
+
+ The array of normal vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with added scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, or Z component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 2].
+
+
+
+ Represents a four dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0, 0).
+
+
+
+
+ The Z unit (0, 0, 1, 0).
+
+
+
+
+ The W unit (0, 0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X, Y, and Z components.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 4D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 4D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 4D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Internal FontFileEnumerator callback
+
+
+
+
+ Internal FontFileEnumerator Callback
+
+
+
+ HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead)
+
+
+ HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten)
+
+
+
+ Callbacks to pointer.
+
+ The stream.
+
+
+
+ HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition)
+
+
+ HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize)
+
+
+ HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out, Optional] ULARGE_INTEGER* pcbRead,[Out, Optional] ULARGE_INTEGER* pcbWritten)
+
+
+ HRESULT IStream::Commit([In] STGC grfCommitFlags)
+
+
+ HRESULT IStream::Revert()
+
+
+ HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+
+
+ HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+
+
+ HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag)
+
+
+ HRESULT IStream::Clone([Out] IStream** ppstm)
+
+
+
+ Converts a win32 error code to a .
+
+ The error code.
+ A HRESULT code
+
+
+
+ Converts a win32 error code to a .
+
+ The error code.
+ A HRESULT code
+
+
+
+ The namespace contains common enumerations, structures and helper classes for Win32 low-level API.
+
+
+
+
+ Security attributes.
+
+ SECURITY_ATTRIBUTES
+
+
+
+ Length.
+
+
+
+
+ Descriptor.
+
+
+
+
+ Gets or sets a value indicating whether [inherit handle].
+
+
+ true if [inherit handle]; otherwise, false.
+
+
+
+
+ Variant COM.
+
+ PROPVARIANT
+
+
+
+ Gets the type of the element.
+
+
+ The type of the element.
+
+
+
+
+ Gets the type.
+
+
+
+
+ Gets or sets the value.
+
+
+ The value.
+
+
+
+
+ Type of a simple variant value.
+
+
+
+
+ Type of a variant
+
+
+
+
+ Simple value
+
+
+
+
+ Vector value.
+
+
+
+
+ Array value.
+
+
+
+
+ By reference.
+
+
+
+
+ Reserved value.
+
+
+
+
+ The namespace contains basic controls used to render DirectX content.
+
+
+
+
diff --git a/Externals/SharpDX/WinRT/SharpDX.dll b/Externals/SharpDX/WinRT/SharpDX.dll
new file mode 100644
index 000000000..66d1372d2
Binary files /dev/null and b/Externals/SharpDX/WinRT/SharpDX.dll differ
diff --git a/Externals/SharpDX/WinRT/SharpDX.xml b/Externals/SharpDX/WinRT/SharpDX.xml
new file mode 100644
index 000000000..268946649
--- /dev/null
+++ b/Externals/SharpDX/WinRT/SharpDX.xml
@@ -0,0 +1,49670 @@
+
+
+
+ SharpDX
+
+
+
+
+ Represents a unit independent angle using a single-precision floating-point
+ internal representation.
+
+
+
+
+ Implement this interface to serialize datas with .
+
+
+
+
+ Reads or writes datas from/to the given binary serializer.
+
+ The binary serializer.
+
+
+
+ A value that specifies the size of a single degree.
+
+
+
+
+ A value that specifies the size of a single minute.
+
+
+
+
+ A value that specifies the size of a single second.
+
+
+
+
+ A value that specifies the size of a single radian.
+
+
+
+
+ A value that specifies the size of a single milliradian.
+
+
+
+
+ A value that specifies the size of a single gradian.
+
+
+
+
+ The internal representation of the angle.
+
+
+
+
+ Initializes a new instance of the SharpDX.AngleSingle structure with the
+ given unit dependant angle and unit type.
+
+ A unit dependant measure of the angle.
+ The type of unit the angle argument is.
+
+
+
+ Initializes a new instance of the SharpDX.AngleSingle structure using the
+ arc length formula (θ = s/r).
+
+ The measure of the arc.
+ The radius of the circle.
+
+
+
+ Wraps this SharpDX.AngleSingle to be in the range [Ï€, -Ï€].
+
+
+
+
+ Wraps this SharpDX.AngleSingle to be in the range [0, 2Ï€).
+
+
+
+
+ Wraps the SharpDX.AngleSingle given in the value argument to be in the range [Ï€, -Ï€].
+
+ A SharpDX.AngleSingle to wrap.
+ The SharpDX.AngleSingle that is wrapped.
+
+
+
+ Wraps the SharpDX.AngleSingle given in the value argument to be in the range [0, 2Ï€).
+
+ A SharpDX.AngleSingle to wrap.
+ The SharpDX.AngleSingle that is wrapped.
+
+
+
+ Compares two SharpDX.AngleSingle instances and returns the smaller angle.
+
+ The first SharpDX.AngleSingle instance to compare.
+ The second SharpDX.AngleSingle instance to compare.
+ The smaller of the two given SharpDX.AngleSingle instances.
+
+
+
+ Compares two SharpDX.AngleSingle instances and returns the greater angle.
+
+ The first SharpDX.AngleSingle instance to compare.
+ The second SharpDX.AngleSingle instance to compare.
+ The greater of the two given SharpDX.AngleSingle instances.
+
+
+
+ Adds two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to add.
+ The second object to add.
+ The value of the two objects added together.
+
+
+
+ Subtracts two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to subtract.
+ The second object to subtract.
+ The value of the two objects subtracted.
+
+
+
+ Multiplies two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to multiply.
+ The second object to multiply.
+ The value of the two objects multiplied together.
+
+
+
+ Divides two SharpDX.AngleSingle objects and returns the result.
+
+ The numerator object.
+ The denominator object.
+ The value of the two objects divided.
+
+
+
+ Returns a System.Boolean that indicates whether the values of two SharpDX.Angle
+ objects are equal.
+
+ The first object to compare.
+ The second object to compare.
+ True if the left and right parameters have the same value; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether the values of two SharpDX.Angle
+ objects are not equal.
+
+ The first object to compare.
+ The second object to compare.
+ True if the left and right parameters do not have the same value; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is less than another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is less than right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is greater than another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is greater than right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is less than or equal to another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is less than or equal to right; otherwise, false.
+
+
+
+ Returns a System.Boolean that indicates whether a SharpDX.Angle
+ object is greater than or equal to another SharpDX.AngleSingle object.
+
+ The first object to compare.
+ The second object to compare.
+ True if left is greater than or equal to right; otherwise, false.
+
+
+
+ Returns the value of the SharpDX.AngleSingle operand. (The sign of
+ the operand is unchanged.)
+
+ A SharpDX.AngleSingle object.
+ The value of the value parameter.
+
+
+
+ Returns the the negated value of the SharpDX.AngleSingle operand.
+
+ A SharpDX.AngleSingle object.
+ The negated value of the value parameter.
+
+
+
+ Adds two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to add.
+ The second object to add.
+ The value of the two objects added together.
+
+
+
+ Subtracts two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to subtract
+ The second object to subtract.
+ The value of the two objects subtracted.
+
+
+
+ Multiplies two SharpDX.AngleSingle objects and returns the result.
+
+ The first object to multiply.
+ The second object to multiply.
+ The value of the two objects multiplied together.
+
+
+
+ Divides two SharpDX.AngleSingle objects and returns the result.
+
+ The numerator object.
+ The denominator object.
+ The value of the two objects divided.
+
+
+
+ Compares this instance to a specified object and returns an integer that
+ indicates whether the value of this instance is less than, equal to, or greater
+ than the value of the specified object.
+
+ The object to compare.
+
+ A signed integer that indicates the relationship of the current instance
+ to the obj parameter. If the value is less than zero, the current instance
+ is less than the other. If the value is zero, the current instance is equal
+ to the other. If the value is greater than zero, the current instance is
+ greater than the other.
+
+
+
+
+ Compares this instance to a second SharpDX.AngleSingle and returns
+ an integer that indicates whether the value of this instance is less than,
+ equal to, or greater than the value of the specified object.
+
+ The object to compare.
+
+ A signed integer that indicates the relationship of the current instance
+ to the obj parameter. If the value is less than zero, the current instance
+ is less than the other. If the value is zero, the current instance is equal
+ to the other. If the value is greater than zero, the current instance is
+ greater than the other.
+
+
+
+
+ Returns a value that indicates whether the current instance and a specified
+ SharpDX.AngleSingle object have the same value.
+
+ The object to compare.
+
+ Returns true if this SharpDX.AngleSingle object and another have the same value;
+ otherwise, false.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this SharpDX.AngleSingle instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+ Returns a value that indicates whether the current instance and a specified
+ object have the same value.
+
+ The object to compare.
+
+ Returns true if the obj parameter is a SharpDX.AngleSingle object or a type
+ capable of implicit conversion to a SharpDX.AngleSingle value, and
+ its value is equal to the value of the current SharpDX.Angle
+ object; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the total number of revolutions this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the total number of degrees this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the minutes component of the degrees this SharpDX.AngleSingle represents.
+ When setting the minutes, if the value is in the range (-60, 60) the whole degrees are
+ not changed; otherwise, the whole degrees may be changed. Fractional values may set
+ the seconds component.
+
+
+
+
+ Gets or sets the seconds of the degrees this SharpDX.AngleSingle represents.
+ When setting the seconds, if the value is in the range (-60, 60) the whole minutes
+ or whole degrees are not changed; otherwise, the whole minutes or whole degrees
+ may be changed.
+
+
+
+
+ Gets or sets the total number of radians this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets or sets the total number of milliradians this SharpDX.AngleSingle represents.
+ One milliradian is equal to 1/(2000Ï€).
+
+
+
+
+ Gets or sets the total number of gradians this SharpDX.AngleSingle represents.
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a right angle (i.e. 90° or π/2).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a straight angle (i.e. 180° or π).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a full rotation angle (i.e. 360° or 2π).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an oblique angle (i.e. is not 90° or a multiple of 90°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an acute angle (i.e. less than 90° but greater than 0°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is an obtuse angle (i.e. greater than 90° but less than 180°).
+
+
+
+
+ Gets a System.Boolean that determines whether this SharpDX.Angle
+ is a reflex angle (i.e. greater than 180° but less than 360°).
+
+
+
+
+ Gets a SharpDX.AngleSingle instance that complements this angle (i.e. the two angles add to 90°).
+
+
+
+
+ Gets a SharpDX.AngleSingle instance that supplements this angle (i.e. the two angles add to 180°).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the zero angle (i.e. 0°).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the right angle (i.e. 90° or π/2).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the straight angle (i.e. 180° or π).
+
+
+
+
+ Gets a new SharpDX.AngleSingle instance that represents the full rotation angle (i.e. 360° or 2π).
+
+
+
+
+ A boolean value stored on 4 bytes (instead of 1 in .NET).
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [bool value].
+
+
+
+ Indicates whether this instance and a specified object are equal.
+
+ The other.
+ true if and this instance are the same type and represent the same value; otherwise, false.
+
+
+
+ Implements the ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+
+
+
+ Represents an axis-aligned bounding box in three dimensional space.
+
+
+
+
+ The minimum point of the box.
+
+
+
+
+ The maximum point of the box.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The minimum vertex of the bounding box.
+ The maximum vertex of the bounding box.
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the box.
+ When the method completes, contains the newly constructed bounding box.
+ Thrown when is null.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the box.
+ The newly constructed bounding box.
+ Thrown when is null.
+
+
+
+ Constructs a from a given sphere.
+
+ The sphere that will designate the extents of the box.
+ When the method completes, contains the newly constructed bounding box.
+
+
+
+ Constructs a from a given sphere.
+
+ The sphere that will designate the extents of the box.
+ The newly constructed bounding box.
+
+
+
+ Constructs a that is as large as the total combined area of the two specified boxes.
+
+ The first box to merge.
+ The second box to merge.
+ When the method completes, contains the newly constructed bounding box.
+
+
+
+ Constructs a that is as large as the total combined area of the two specified boxes.
+
+ The first box to merge.
+ The second box to merge.
+ The newly constructed bounding box.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Defines a frustum which can be used in frustum culling, zoom to Extents (zoom to fit) operations,
+ (matrix, frustum, camera) interchange, and many kind of intersection testing.
+
+
+
+
+ Creates a new instance of BoundingFrustum.
+
+ Combined matrix that usually takes view × projection matrix.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Returns one of the 6 planes related to this frustum.
+
+ Plane index where 0 fro Left, 1 for Right, 2 for Top, 3 for Bottom, 4 for Near, 5 for Far
+
+
+
+
+ Creates a new frustum relaying on perspective camera parameters
+
+ The camera pos.
+ The look dir.
+ Up dir.
+ The fov.
+ The znear.
+ The zfar.
+ The aspect.
+ The bounding frustum calculated from perspective camera
+
+
+
+ Creates a new frustum relaying on perspective camera parameters
+
+ The camera params.
+ The bounding frustum from camera params
+
+
+
+ Returns the 8 corners of the frustum, element0 is Near1 (near right down corner)
+ , element1 is Near2 (near right top corner)
+ , element2 is Near3 (near Left top corner)
+ , element3 is Near4 (near Left down corner)
+ , element4 is Far1 (far right down corner)
+ , element5 is Far2 (far right top corner)
+ , element6 is Far3 (far left top corner)
+ , element7 is Far4 (far left down corner)
+
+ The 8 corners of the frustum
+
+
+
+ Returns the 8 corners of the frustum, element0 is Near1 (near right down corner)
+ , element1 is Near2 (near right top corner)
+ , element2 is Near3 (near Left top corner)
+ , element3 is Near4 (near Left down corner)
+ , element4 is Far1 (far right down corner)
+ , element5 is Far2 (far right top corner)
+ , element6 is Far3 (far left top corner)
+ , element7 is Far4 (far left down corner)
+
+ The 8 corners of the frustum
+
+
+
+ Extracts perspective camera parameters from the frustum, doesn't work with orthographic frustums.
+
+ Perspective camera parameters from the frustum
+
+
+
+ Checks whether a point lay inside, intersects or lay outside the frustum.
+
+ The point.
+ Type of the containment
+
+
+
+ Checks whether a point lay inside, intersects or lay outside the frustum.
+
+ The point.
+ Type of the containment
+
+
+
+ Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint).
+
+ The points.
+ Type of the containment
+
+
+
+ Checks whether a group of points lay totally inside the frustum (Contains), or lay partially inside the frustum (Intersects), or lay outside the frustum (Disjoint).
+
+ The points.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding box.
+
+ The box.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and a bounding sphere.
+
+ The sphere.
+ Type of the containment.
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment
+
+
+
+ Determines the intersection relationship between the frustum and another bounding frustum.
+
+ The frustum.
+ Type of the containment.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingSphere.
+
+ The sphere.
+ Type of the containment
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingSphere.
+
+ The sphere.
+ Set to true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingBox.
+
+ The box.
+ true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects a BoundingBox.
+
+ The box.
+ true if the current BoundingFrustum intersects a BoundingSphere.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Plane.
+
+ The plane.
+ Plane intersection type.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Plane.
+
+ The plane.
+ Plane intersection type.
+
+
+
+ Get the width of the frustum at specified depth.
+
+ the depth at which to calculate frustum width.
+ With of the frustum at the specified depth
+
+
+
+ Get the height of the frustum at specified depth.
+
+ the depth at which to calculate frustum height.
+ Height of the frustum at the specified depth
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Ray.
+
+ The ray.
+ true if the current BoundingFrustum intersects the specified Ray.
+
+
+
+ Checks whether the current BoundingFrustum intersects the specified Ray.
+
+ The Ray to check for intersection with.
+ The distance at which the ray enters the frustum if there is an intersection and the ray starts outside the frustum.
+ The distance at which the ray exits the frustum if there is an intersection.
+ true if the current BoundingFrustum intersects the specified Ray.
+
+
+
+ Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+ if the returned value is positive, the camera will move toward the lookat direction (ZoomIn).
+ if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut).
+
+ The points.
+ The zoom to fit distance
+
+
+
+ Get the distance which when added to camera position along the lookat direction will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+ if the returned value is positive, the camera will move toward the lookat direction (ZoomIn).
+ if the returned value is negative, the camera will move in the reverse direction of the lookat direction (ZoomOut).
+
+ The bounding box.
+ The zoom to fit distance
+
+
+
+ Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+
+ The points.
+ The zoom to fit vector
+
+
+
+ Get the vector shift which when added to camera position will do the effect of zoom to extents (zoom to fit) operation,
+ so all the passed points will fit in the current view.
+
+ The bounding box.
+ The zoom to fit vector
+
+
+
+
+
+
+ Gets or sets the Matrix that describes this bounding frustum.
+
+
+
+
+ Gets the near plane of the BoundingFrustum.
+
+
+
+
+ Gets the far plane of the BoundingFrustum.
+
+
+
+
+ Gets the left plane of the BoundingFrustum.
+
+
+
+
+ Gets the right plane of the BoundingFrustum.
+
+
+
+
+ Gets the top plane of the BoundingFrustum.
+
+
+
+
+ Gets the bottom plane of the BoundingFrustum.
+
+
+
+
+ Indicate whether the current BoundingFrustrum is Orthographic.
+
+
+ true if the current BoundingFrustrum is Orthographic; otherwise, false.
+
+
+
+
+ Represents a bounding sphere in three dimensional space.
+
+
+
+
+ The center of the sphere in three dimensional space.
+
+
+
+
+ The radius of the sphere.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The center of the sphere in three dimensional space.
+ The radius of the sphere.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether the current objects contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether the current objects contains a .
+
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ The start index from points array to start compute the bounding sphere.
+ The count of points to process to compute the bounding sphere.
+ When the method completes, contains the newly constructed bounding sphere.
+ points
+
+ start
+ or
+ count
+
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ When the method completes, contains the newly constructed bounding sphere.
+
+
+
+ Constructs a that fully contains the given points.
+
+ The points that will be contained by the sphere.
+ The newly constructed bounding sphere.
+
+
+
+ Constructs a from a given box.
+
+ The box that will designate the extents of the sphere.
+ When the method completes, the newly constructed bounding sphere.
+
+
+
+ Constructs a from a given box.
+
+ The box that will designate the extents of the sphere.
+ The newly constructed bounding sphere.
+
+
+
+ Constructs a that is the as large as the total combined area of the two specified spheres.
+
+ The first sphere to merge.
+ The second sphere to merge.
+ When the method completes, contains the newly constructed bounding sphere.
+
+
+
+ Constructs a that is the as large as the total combined area of the two specified spheres.
+
+ The first sphere to merge.
+ The second sphere to merge.
+ The newly constructed bounding sphere.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Callback base implementation of .
+
+
+
+
+ Base class for a class.
+
+
+
+
+ Releases unmanaged resources and performs other cleanup operations before the
+ is reclaimed by garbage collection.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Occurs when this instance is starting to be disposed.
+
+
+
+
+ Occurs when this instance is fully disposed.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+ true if this instance is disposed; otherwise, false.
+
+
+
+
+ Use this interface to tag a class that is called by an unmanaged
+ object. A class must dispose the
+ on dispose.
+
+
+
+
+ Gets or sets the unmanaged shadow callback.
+
+ The unmanaged shadow callback.
+
+ This property is set whenever this instance has an unmanaged shadow callback
+ registered. This callback must be disposed when disposing this instance.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Provides for default value types.
+
+
+
+
+ A default for .
+
+
+
+
+ An observable collection.
+
+ Type of a collection item
+
+
+
+ Raised when an item is added to this instance.
+
+
+
+
+ Raised when a item is removed from this instance.
+
+
+
+
+ An event providing the item changed in a collection (inserted or removed).
+
+ Type of a collection item
+
+
+
+ Initializes a new instance of the class.
+
+ The item from the collection.
+
+
+
+ Gets the item from the collection that was inserted or removed.
+
+ The collection item.
+
+
+
+ An observable dictionary.
+
+ The dictionary's key type.
+ The dictionary's value type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the enumerator of this dictionary.
+
+ The enumerator instance of the dictionary.
+
+
+
+ Removes all items from the dictionary.
+
+
+
+
+ Adds a new value with the specified key to dictionary.
+
+ The added key.
+ The added value.
+
+
+
+ Checks whether the dictionary contains the specified key.
+
+ The key to check for presence.
+ true if the dictionary contains the provided key, false - otherwise.
+
+
+
+ Removes the value corresponding to the specified key from dictionary.
+
+ The key to remove.
+ true if the item was removed, false - otherwise.
+
+
+
+ Tries to get the value associated with the specified key.
+
+ The key.
+ Contains the returned value on success.
+ true if the value was returned successfuly, false - otherwise.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the collection of the keys present in dictionary.
+
+
+
+
+ Gets the collection of the values present in dictionary.
+
+
+
+
+ Gets the cound of items present in dictionary.
+
+
+
+
+ Is raised when a new item is added to the dictionary.
+
+
+
+
+ Is raised when an item is removed from the dictionary.
+
+
+
+
+ Gets or sets a value associated with the specified key.
+
+ The key.
+ The associated value.
+
+
+
+
+
+
+ Event arguments for the and events.
+
+ The dictionary key type.
+ The dictionary value type.
+
+
+
+ Initializes a new instance of the class from the provided .
+
+ The that contains the event arguments.
+
+
+
+ Initializes a new instance of the class from the provided key and value.
+
+ The event's key argument.
+ The event's value argument.
+
+
+
+ Gets the event's key argument.
+
+
+
+
+ Gets the event's value argument.
+
+
+
+
+ A generic collection for effect framework.
+
+ Type of the collection
+
+
+
+ Adds the specified item.
+
+ The item.
+
+
+
+ Determines whether this collection contains an element with the specified name.
+
+ The name.
+ true if [contains] an element with the specified name; otherwise, false.
+
+
+
+ Gets the number of objects in the collection.
+
+
+
+ Gets a specific element in the collection by using an index value.
+ Index of the EffectTechnique to get.
+
+
+ Gets a specific element in the collection by using a name.
+ Name of the EffectTechnique to get.
+
+
+
+ Use to provide a debug view on a custom collection. Use this by adding
+ an attribute [DebuggerTypeProxy(typeof(CollectionDebugView))] to your custom collection.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The collection.
+ collection
+
+
+
+ Gets the items.
+
+ The items.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The collection.
+ collection
+
+
+
+ Gets the items.
+
+ The items.
+
+
+
+ Represents a 3x3 Matrix ( contains only Scale and Rotation ).
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 1 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 1 column 3 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 2 column 3 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 1 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 2 of the Matrix3x3.
+
+
+
+
+ Value at row 3 column 3 of the Matrix3x3.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the Matrix3x3.
+ The value to assign at row 1 column 2 of the Matrix3x3.
+ The value to assign at row 1 column 3 of the Matrix3x3.
+ The value to assign at row 2 column 1 of the Matrix3x3.
+ The value to assign at row 2 column 2 of the Matrix3x3.
+ The value to assign at row 2 column 3 of the Matrix3x3.
+ The value to assign at row 3 column 1 of the Matrix3x3.
+ The value to assign at row 3 column 2 of the Matrix3x3.
+ The value to assign at row 3 column 3 of the Matrix3x3.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the Matrix3x3. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Calculates the determinant of the Matrix3x3.
+
+ The determinant of the Matrix3x3.
+
+
+
+ Inverts the Matrix3x3.
+
+
+
+
+ Transposes the Matrix3x3.
+
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Decomposes a Matrix3x3 into an orthonormalized Matrix3x3 Q and a right triangular Matrix3x3 R.
+
+ When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
+ When the method completes, contains the right triangular Matrix3x3 of the decomposition.
+
+
+
+ Decomposes a Matrix3x3 into a lower triangular Matrix3x3 L and an orthonormalized Matrix3x3 Q.
+
+ When the method completes, contains the lower triangular Matrix3x3 of the decomposition.
+ When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
+
+
+
+ Decomposes a Matrix3x3 into a scale, rotation, and translation.
+
+ When the method completes, contains the scaling component of the decomposed Matrix3x3.
+ When the method completes, contains the rotation component of the decomposed Matrix3x3.
+
+ This method is designed to decompose an SRT transformation Matrix3x3 only.
+
+
+
+
+ Decomposes a uniform scale matrix into a scale, rotation, and translation.
+ A uniform scale matrix has the same scale in every axis.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+
+ This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
+
+
+
+
+ Exchanges two rows in the Matrix3x3.
+
+ The first row to exchange. This is an index of the row starting at zero.
+ The second row to exchange. This is an index of the row starting at zero.
+
+
+
+ Exchanges two columns in the Matrix3x3.
+
+ The first column to exchange. This is an index of the column starting at zero.
+ The second column to exchange. This is an index of the column starting at zero.
+
+
+
+ Creates an array containing the elements of the Matrix3x3.
+
+ A 9-element array containing the components of the Matrix3x3.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Determines the product of two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by the given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ The quotient of the two matrices.
+
+
+
+ Performs the exponential operation on a Matrix3x3.
+
+ The Matrix3x3 to perform the operation on.
+ The exponent to raise the Matrix3x3 to.
+ When the method completes, contains the exponential Matrix3x3.
+ Thrown when the is negative.
+
+
+
+ Performs the exponential operation on a Matrix3x3.
+
+ The Matrix3x3 to perform the operation on.
+ The exponent to raise the Matrix3x3 to.
+ The exponential Matrix3x3.
+ Thrown when the is negative.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to be negated.
+ When the method completes, contains the negated Matrix3x3.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to be negated.
+ The negated Matrix3x3.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix3x3.
+ End Matrix3x3.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified Matrix3x3.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified Matrix3x3.
+
+
+
+ Calculates the transpose of the specified Matrix3x3.
+
+ The Matrix3x3 whose transpose is to be calculated.
+ The transpose of the specified Matrix3x3.
+
+
+
+ Calculates the inverse of the specified Matrix3x3.
+
+ The Matrix3x3 whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified Matrix3x3.
+
+
+
+ Calculates the inverse of the specified Matrix3x3.
+
+ The Matrix3x3 whose inverse is to be calculated.
+ The inverse of the specified Matrix3x3.
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthogonalize.
+ When the method completes, contains the orthogonalized Matrix3x3.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthogonalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthogonalize.
+ The orthogonalized Matrix3x3.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
+ Matrix3x3.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthonormalize.
+ When the method completes, contains the orthonormalized Matrix3x3.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified Matrix3x3.
+
+ The Matrix3x3 to orthonormalize.
+ The orthonormalized Matrix3x3.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the Matrix3x3 rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Brings the Matrix3x3 into upper triangular form using elementary row operations.
+
+ The Matrix3x3 to put into upper triangular form.
+ When the method completes, contains the upper triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into upper triangular form using elementary row operations.
+
+ The Matrix3x3 to put into upper triangular form.
+ The upper triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into lower triangular form using elementary row operations.
+
+ The Matrix3x3 to put into lower triangular form.
+ When the method completes, contains the lower triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into lower triangular form using elementary row operations.
+
+ The Matrix3x3 to put into lower triangular form.
+ The lower triangular Matrix3x3.
+
+ If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the Matrix3x3 into row echelon form using elementary row operations;
+
+ The Matrix3x3 to put into row echelon form.
+ When the method completes, contains the row echelon form of the Matrix3x3.
+
+
+
+ Brings the Matrix3x3 into row echelon form using elementary row operations;
+
+ The Matrix3x3 to put into row echelon form.
+ When the method completes, contains the row echelon form of the Matrix3x3.
+
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard Matrix3x3.
+
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard Matrix3x3.
+
+
+
+ Creates a left-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at Matrix3x3.
+
+
+
+ Creates a left-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at Matrix3x3.
+
+
+
+ Creates a right-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at Matrix3x3.
+
+
+
+ Creates a right-handed, look-at Matrix3x3.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at Matrix3x3.
+
+
+
+ Builds a Matrix3x3 that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ When the method completes, contains the reflection Matrix3x3.
+
+
+
+ Builds a Matrix3x3 that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ The reflection Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ When the method completes, contains the shadow Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ The shadow Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a Matrix3x3 that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 from a quaternion.
+
+ The quaternion to use to build the Matrix3x3.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 from a quaternion.
+
+ The quaternion to use to build the Matrix3x3.
+ The created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ When the method completes, contains the created rotation Matrix3x3.
+
+
+
+ Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ The created rotation Matrix3x3.
+
+
+
+ Adds two matrices.
+
+ The first Matrix3x3 to add.
+ The second Matrix3x3 to add.
+ The sum of the two matrices.
+
+
+
+ Assert a Matrix3x3 (return it unchanged).
+
+ The Matrix3x3 to assert (unchanged).
+ The asserted (unchanged) Matrix3x3.
+
+
+
+ Subtracts two matrices.
+
+ The first Matrix3x3 to subtract.
+ The second Matrix3x3 to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a Matrix3x3.
+
+ The Matrix3x3 to negate.
+ The negated Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Multiplies two matrices.
+
+ The first Matrix3x3 to multiply.
+ The second Matrix3x3 to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a Matrix3x3 by a given value.
+
+ The Matrix3x3 to scale.
+ The amount by which to scale.
+ The scaled Matrix3x3.
+
+
+
+ Divides two matrices.
+
+ The first Matrix3x3 to divide.
+ The second Matrix3x3 to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Convert the 3x3 Matrix to a 4x4 Matrix.
+
+ A 4x4 Matrix with zero translation and M44=1
+
+
+
+ Convert the 4x4 Matrix to a 3x3 Matrix.
+
+ A 3x3 Matrix
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified are equal.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets or sets the first row in the Matrix3x3; that is M11, M12, M13
+
+
+
+
+ Gets or sets the second row in the Matrix3x3; that is M21, M22, M23
+
+
+
+
+ Gets or sets the third row in the Matrix3x3; that is M31, M32, M33
+
+
+
+
+ Gets or sets the first column in the Matrix3x3; that is M11, M21, M31
+
+
+
+
+ Gets or sets the second column in the Matrix3x3; that is M12, M22, M32
+
+
+
+
+ Gets or sets the third column in the Matrix3x3; that is M13, M23, M33
+
+
+
+
+ Gets or sets the scale of the Matrix3x3; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity Matrix3x3.
+
+
+ true if this instance is an identity Matrix3x3; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix3x3 component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix3x3 component, depending on the index.
+ The row of the Matrix3x3 to access.
+ The column of the Matrix3x3 to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Internal class used to initialize this assembly.
+
+
+
+
+ Initializes this assembly.
+
+
+ This method is called when the assembly is loaded.
+
+
+
+
+ OrientedBoundingBox (OBB) is a rectangular block, much like an AABB (BoundingBox) but with an arbitrary orientation.
+
+
+
+
+ Half lengths of the box along each axis.
+
+
+
+
+ The matrix which aligns and scales the box, and its translation vector represents the center of the box.
+
+
+
+
+ Creates an from a BoundingBox.
+
+ The BoundingBox to create from.
+
+ Initially, the OBB is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Creates an which contained between two minimum and maximum points.
+
+ The minimum vertex of the bounding box.
+ The maximum vertex of the bounding box.
+
+ Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Creates an that fully contains the given points.
+
+ The points that will be contained by the box.
+
+ This method is not for computing the best tight-fitting OrientedBoundingBox.
+ And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
+
+
+
+
+ Retrieves the eight corners of the bounding box.
+
+ An array of points representing the eight corners of the bounding box.
+
+
+
+ Transforms this box using a transformation matrix.
+
+ The transformation matrix.
+
+ While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
+ scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
+
+
+
+
+ Transforms this box using a transformation matrix.
+
+ The transformation matrix.
+
+ While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
+ scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Scales the by scaling its Extents without affecting the Transformation matrix,
+ By keeping Transformation matrix scaling-free, the collision detection methods will be more accurate.
+
+
+
+
+
+ Translates the to a new position using a translation vector;
+
+ the translation vector.
+
+
+
+ Translates the to a new position using a translation vector;
+
+ the translation vector.
+
+
+
+ Returns the size of the taking into consideration the scaling applied to the transformation matrix.
+
+ The size of the consideration
+
+ This method is computationally expensive, so if no scale is applied to the transformation matrix
+ use property instead.
+
+
+
+
+ Returns the square size of the taking into consideration the scaling applied to the transformation matrix.
+
+ The size of the consideration
+
+
+
+ Determines whether a contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a point.
+
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains an array of points>.
+
+ The points array to test.
+ The type of containment.
+
+
+
+ Determines whether a contains a .
+
+ The sphere to test.
+ Optimize the check operation by assuming that has no scaling applied
+ The type of containment the two objects have.
+
+ This method is not designed for which has a non-uniform scaling applied to its transformation matrix.
+ But any type of scaling applied using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between two
+
+ The OrientedBoundingBoxs to test.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for both must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between an and a line defined by two points
+
+ The first point in the line.
+ The second point in the line.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for the must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Check the intersection between an and
+
+ The BoundingBox to test.
+ The type of containment the two objects have.
+
+ For accuracy, The transformation matrix for the must not have any scaling applied to it.
+ Anyway, scaling using Scale method will keep this method accurate.
+
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Get the axis-aligned which contains all corners.
+
+ The axis-aligned BoundingBox of this OrientedBoundingBox.
+
+
+
+ Calculates the matrix required to transfer any point from one local coordinates to another.
+
+ The source OrientedBoundingBox.
+ The target OrientedBoundingBox.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+
+ Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A orientation.
+
+ The to merge into it.
+ The to be merged
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+ Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B into it.
+
+
+
+
+ Merge this OrientedBoundingBox into another OrientedBoundingBox, keeping the other OrientedBoundingBox orientation.
+
+ The other to merge into.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+ Merge another OrientedBoundingBox into this OrientedBoundingBox.
+
+ The other to merge into this OrientedBoundingBox.
+
+ If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+
+
+
+ The size of the if no scaling is applied to the transformation matrix.
+
+
+ The property will return the actual size even if the scaling is applied using Scale method,
+ but if the scaling is applied to transformation matrix, use GetSize Function instead.
+
+
+
+
+ Returns the center of the .
+
+
+
+
+ Random functions on commun types.
+
+
+
+
+ Gets random float number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random float number.
+
+
+
+ Gets random double number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random double number.
+
+
+
+ Gets random long number.
+
+ Current .
+ Random long number.
+
+
+
+ Gets random long number within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random long number.
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random within range.
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random opaque .
+
+ Current .
+ Random .
+
+
+
+ Gets random opaque .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Alpha value.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum brightness.
+ Maximum brightness
+ Minimum alpha.
+ Maximum alpha.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Gets random .
+
+ Current .
+ Minimum.
+ Maximum.
+ Random .
+
+
+
+ Instructs obfuscation tools to use their standard obfuscation rules for the appropriate assembly type.
+
+
+
+
+ Initializes a new instance of the class,
+ specifying whether the assembly to be obfuscated is public or priyvate.
+
+ true if the assembly is used within the scope of one application; otherwise, false.
+
+
+
+ Gets a value indicating whether the assembly was marked private.
+
+
+ true if the assembly was marked private; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should remove the attribute after processing.
+
+
+ true if the obfuscation tool should remove the attribute after processing; otherwise, false.
+ The default value for this property is true.
+
+
+
+
+ Instructs obfuscation tools to take the specified actions for an assembly, type, or member.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value indicating whether the attribute of a type is to apply to the members of the type.
+
+
+ true if the attribute is to apply to the members of the type; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should exclude the type or member from obfuscation.
+
+
+ true if the type or member to which this attribute is applied should be excluded from obfuscation; otherwise, false.
+ The default is true.
+
+
+
+
+ Gets or sets a string value that is recognized by the obfuscation tool, and which specifies processing options.
+
+
+ A string value that is recognized by the obfuscation tool, and which specifies processing options. The default is "all".
+
+
+
+
+ Gets or sets a value indicating whether the obfuscation tool should remove the attribute after processing.
+
+
+ true if the obfuscation tool should remove the attribute after processing; otherwise, false.
+ The default value for this property is true.
+
+
+
+
+ Task utility for threading.
+
+
+
+
+ Runs the specified action in a thread.
+
+ The action.
+ Name of the task.
+
+
+
+ Defines the viewport dimensions using float coordinates for (X,Y,Width,Height).
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Width dimension of the viewport.
+
+
+
+
+ Height dimension of the viewport.
+
+
+
+
+ Gets or sets the minimum depth of the clip volume.
+
+
+
+
+ Gets or sets the maximum depth of the clip volume.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+ The minimum depth of the clip volume.
+ The maximum depth of the clip volume.
+
+
+
+ Initializes a new instance of the struct.
+
+ A bounding box that defines the location and size of the viewport in a render target.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified object is equal to this instance.
+
+ The object to compare with this instance.
+
+ true if the specified object is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Retrieves a string representation of this object.
+
+ A that represents this instance.
+
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ A combined WorldViewProjection matrix.
+ The projected vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ The projection matrix.
+ The view matrix.
+ The world matrix.
+ The unprojected Vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ An inverted combined WorldViewProjection matrix.
+ The unprojected vector.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Gets the size of this resource.
+
+ The bounds.
+
+
+
+ Gets the aspect ratio used by the viewport.
+
+ The aspect ratio.
+
+
+
+ A fast method to pass array of to SharpDX methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The array.
+
+
+
+ Initializes a new instance of the class.
+
+ The size.
+
+
+
+ Gets an object at the specified index.
+
+ The index.
+ A
+
+
+
+ Sets an object at the specified index.
+
+ The index.
+ The value.
+
+
+
+
+
+
+ Gets the pointer to the native array associated to this instance.
+
+
+
+
+ Gets the length.
+
+
+
+
+ A typed version of
+
+ Type of the
+
+
+
+ Initializes a new instance of the class.
+
+ The array.
+
+
+
+ Initializes a new instance of the class.
+
+ The size.
+
+
+
+ Gets or sets the with the specified i.
+
+
+
+
+ Generic class to hold a shader compilation results.
+
+ Type of the class containing the generated bytecode.
+
+
+
+ Initializes a new instance of the class.
+
+ The bytecode.
+ Result code from compilation.
+ The message.
+
+
+
+
+
+
+ Gets the Shader bytecode.
+
+
+
+
+ Gets the result code from the compilation.
+
+
+
+
+ Gets a value indicating whether this instance has errors.
+
+
+ true if this instance has errors; otherwise, false.
+
+
+
+
+ Gets the message.
+
+
+ Message are warning or error messages.
+
+
+
+
+ Represents a four dimensional mathematical vector of bool (32 bits per bool value).
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to false.
+
+
+
+
+ The X unit (true, 0, 0, 0).
+
+
+
+
+ The Y unit (0, true, 0, 0).
+
+
+
+
+ The Z unit (0, 0, true, 0).
+
+
+
+
+ The W unit (0, 0, 0, true).
+
+
+
+
+ A with all of its components set to true.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The assembly is the core assembly providing infrastructure for all managed DirectX API.
+
+
+
+
+ Represents a 32-bit color (4 bytes) in the form of RGBA (in byte order: R, G, B, A).
+
+
+ List of predefined .
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct. Passed values are clamped within byte range.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255. Passed values are clamped within byte range.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct. Alpha is set to 255.
+
+ The red, green, and blue components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the alpha, red, green, and blue components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a three component color.
+
+ A three component color containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color in RGBA order.
+
+
+
+ Gets the brightness.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the hue.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the saturation.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed ABGR integer.
+
+ A packed integer containing all four color components in ABGR order
+ A color.
+
+
+
+ Converts the color from a packed ABGR integer.
+
+ A packed integer containing all four color components in ABGR order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Convert this instance to a
+
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (byte).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (byte).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Zero color.
+
+
+
+
+ Transparent color.
+
+
+
+
+ AliceBlue color.
+
+
+
+
+ AntiqueWhite color.
+
+
+
+
+ Aqua color.
+
+
+
+
+ Aquamarine color.
+
+
+
+
+ Azure color.
+
+
+
+
+ Beige color.
+
+
+
+
+ Bisque color.
+
+
+
+
+ Black color.
+
+
+
+
+ BlanchedAlmond color.
+
+
+
+
+ Blue color.
+
+
+
+
+ BlueViolet color.
+
+
+
+
+ Brown color.
+
+
+
+
+ BurlyWood color.
+
+
+
+
+ CadetBlue color.
+
+
+
+
+ Chartreuse color.
+
+
+
+
+ Chocolate color.
+
+
+
+
+ Coral color.
+
+
+
+
+ CornflowerBlue color.
+
+
+
+
+ Cornsilk color.
+
+
+
+
+ Crimson color.
+
+
+
+
+ Cyan color.
+
+
+
+
+ DarkBlue color.
+
+
+
+
+ DarkCyan color.
+
+
+
+
+ DarkGoldenrod color.
+
+
+
+
+ DarkGray color.
+
+
+
+
+ DarkGreen color.
+
+
+
+
+ DarkKhaki color.
+
+
+
+
+ DarkMagenta color.
+
+
+
+
+ DarkOliveGreen color.
+
+
+
+
+ DarkOrange color.
+
+
+
+
+ DarkOrchid color.
+
+
+
+
+ DarkRed color.
+
+
+
+
+ DarkSalmon color.
+
+
+
+
+ DarkSeaGreen color.
+
+
+
+
+ DarkSlateBlue color.
+
+
+
+
+ DarkSlateGray color.
+
+
+
+
+ DarkTurquoise color.
+
+
+
+
+ DarkViolet color.
+
+
+
+
+ DeepPink color.
+
+
+
+
+ DeepSkyBlue color.
+
+
+
+
+ DimGray color.
+
+
+
+
+ DodgerBlue color.
+
+
+
+
+ Firebrick color.
+
+
+
+
+ FloralWhite color.
+
+
+
+
+ ForestGreen color.
+
+
+
+
+ Fuchsia color.
+
+
+
+
+ Gainsboro color.
+
+
+
+
+ GhostWhite color.
+
+
+
+
+ Gold color.
+
+
+
+
+ Goldenrod color.
+
+
+
+
+ Gray color.
+
+
+
+
+ Green color.
+
+
+
+
+ GreenYellow color.
+
+
+
+
+ Honeydew color.
+
+
+
+
+ HotPink color.
+
+
+
+
+ IndianRed color.
+
+
+
+
+ Indigo color.
+
+
+
+
+ Ivory color.
+
+
+
+
+ Khaki color.
+
+
+
+
+ Lavender color.
+
+
+
+
+ LavenderBlush color.
+
+
+
+
+ LawnGreen color.
+
+
+
+
+ LemonChiffon color.
+
+
+
+
+ LightBlue color.
+
+
+
+
+ LightCoral color.
+
+
+
+
+ LightCyan color.
+
+
+
+
+ LightGoldenrodYellow color.
+
+
+
+
+ LightGray color.
+
+
+
+
+ LightGreen color.
+
+
+
+
+ LightPink color.
+
+
+
+
+ LightSalmon color.
+
+
+
+
+ LightSeaGreen color.
+
+
+
+
+ LightSkyBlue color.
+
+
+
+
+ LightSlateGray color.
+
+
+
+
+ LightSteelBlue color.
+
+
+
+
+ LightYellow color.
+
+
+
+
+ Lime color.
+
+
+
+
+ LimeGreen color.
+
+
+
+
+ Linen color.
+
+
+
+
+ Magenta color.
+
+
+
+
+ Maroon color.
+
+
+
+
+ MediumAquamarine color.
+
+
+
+
+ MediumBlue color.
+
+
+
+
+ MediumOrchid color.
+
+
+
+
+ MediumPurple color.
+
+
+
+
+ MediumSeaGreen color.
+
+
+
+
+ MediumSlateBlue color.
+
+
+
+
+ MediumSpringGreen color.
+
+
+
+
+ MediumTurquoise color.
+
+
+
+
+ MediumVioletRed color.
+
+
+
+
+ MidnightBlue color.
+
+
+
+
+ MintCream color.
+
+
+
+
+ MistyRose color.
+
+
+
+
+ Moccasin color.
+
+
+
+
+ NavajoWhite color.
+
+
+
+
+ Navy color.
+
+
+
+
+ OldLace color.
+
+
+
+
+ Olive color.
+
+
+
+
+ OliveDrab color.
+
+
+
+
+ Orange color.
+
+
+
+
+ OrangeRed color.
+
+
+
+
+ Orchid color.
+
+
+
+
+ PaleGoldenrod color.
+
+
+
+
+ PaleGreen color.
+
+
+
+
+ PaleTurquoise color.
+
+
+
+
+ PaleVioletRed color.
+
+
+
+
+ PapayaWhip color.
+
+
+
+
+ PeachPuff color.
+
+
+
+
+ Peru color.
+
+
+
+
+ Pink color.
+
+
+
+
+ Plum color.
+
+
+
+
+ PowderBlue color.
+
+
+
+
+ Purple color.
+
+
+
+
+ Red color.
+
+
+
+
+ RosyBrown color.
+
+
+
+
+ RoyalBlue color.
+
+
+
+
+ SaddleBrown color.
+
+
+
+
+ Salmon color.
+
+
+
+
+ SandyBrown color.
+
+
+
+
+ SeaGreen color.
+
+
+
+
+ SeaShell color.
+
+
+
+
+ Sienna color.
+
+
+
+
+ Silver color.
+
+
+
+
+ SkyBlue color.
+
+
+
+
+ SlateBlue color.
+
+
+
+
+ SlateGray color.
+
+
+
+
+ Snow color.
+
+
+
+
+ SpringGreen color.
+
+
+
+
+ SteelBlue color.
+
+
+
+
+ Tan color.
+
+
+
+
+ Teal color.
+
+
+
+
+ Thistle color.
+
+
+
+
+ Tomato color.
+
+
+
+
+ Turquoise color.
+
+
+
+
+ Violet color.
+
+
+
+
+ Wheat color.
+
+
+
+
+ White color.
+
+
+
+
+ WhiteSmoke color.
+
+
+
+
+ Yellow color.
+
+
+
+
+ YellowGreen color.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the alpha, red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a 32-bit color (4 bytes) in the form of BGRA (in byte order: B, G, B, A).
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in BGRA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in BGRA.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a three component color.
+
+ A three component color containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color in BGRA order.
+
+
+
+ Gets the brightness.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the hue.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Gets the saturation.
+
+ The Hue-Saturation-Brightness (HSB) saturation for this
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed BGRA integer.
+
+ A packed integer containing all four color components in BGRA order
+ A color.
+
+
+
+ Converts the color from a packed RGBA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Converts the color from a packed RGBA integer.
+
+ A packed integer containing all four color components in RGBA order
+ A color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colorss.
+
+
+
+ Returns a color containing the largest components of the specified colorss.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchange).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (byte).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (byte).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the alpha, red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Base interface for a component base.
+
+
+
+
+ Gets the name of this component.
+
+ The name.
+
+
+
+ A service registry is a that provides methods to register and unregister services.
+
+
+
+
+ Gets the service object of specified type. The service must be registered with the type key.
+
+ This method will thrown an exception if the service is not registered, it null value can be accepted - use the method.
+ The type of the service to get.
+ The service instance.
+ Is thrown when the corresponding service is not registered.
+
+
+
+ Adds a service to this service provider.
+
+ The type of service to add.
+ The instance of the service provider to add.
+ Service type cannot be null
+ Service is already registered
+
+
+
+ Adds a service to this service provider.
+
+ The type of the service to add.
+ The instance of the service provider to add.
+ Service type cannot be null
+ Service is already registered
+
+
+
+ Removes the object providing a specified service.
+
+ The type of service.
+
+
+
+ Occurs when a new service is added.
+
+
+
+
+ Occurs when when a service is removed.
+
+
+
+
+ Path utility methods.
+
+
+
+
+ Transform a path by replacing '/' by '\' and transforming relative '..' or current path '.' to an absolute path. See remarks.
+
+ A path string
+ A normalized path.
+
+ Unlike , this doesn't make a path absolute to the actual file system.
+
+
+
+
+ IInspectable used for a C# callback object exposed as WinRT Component.
+
+ br205821
+ IInspectable
+ IInspectable
+
+
+
+ Internal IInspectable Callback
+
+
+
+
+ A COM Interface Callback
+
+
+
+
+ An Interface shadow callback
+
+
+
+
+ Root class for all Cpp interop object.
+
+
+
+
+ The native pointer
+
+
+
+
+ Default constructor.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The CPP object.
+
+ The result of the conversion.
+
+
+
+
+ Initializes this instance with a pointer from a temporary object and set the pointer of the temporary
+ object to IntPtr.Zero.
+
+ The instance to get the NativePointer.
+
+
+
+ Initializes this instance with a pointer from a temporary object and set the pointer of the temporary
+ object to IntPtr.Zero.
+
+ The instance to get the NativePointer.
+
+
+
+ Method called when is going to be update.
+
+
+
+
+ Method called when the is updated.
+
+
+
+
+ Instantiate a ComObject from a native pointer.
+
+ The ComObject class that will be returned
+ The native pointer to a com object.
+ An instance of T binded to the native pointer
+
+
+
+ Return the unmanaged C++ pointer from a instance.
+
+ The type of the callback.
+ The callback.
+ A pointer to the unmanaged C++ object of the callback
+
+
+
+ Gets or sets a custom user tag object to associate with this instance..
+
+ The tag object.
+
+
+
+ Get a pointer to the underlying Cpp Object
+
+
+
+
+ Initializes the specified shadow instance from a vtbl and a callback.
+
+ The callback.
+
+
+
+ Gets the callback.
+
+
+
+
+ Gets the VTBL associated with this shadow instance.
+
+
+
+
+ Default Constructor.
+
+ number of methods to allocate in the VTBL
+
+
+
+ Add a method supported by this interface. This method is typically called from inherited constructor.
+
+ the managed delegate method
+
+
+
+ Gets the pointer to the vtbl.
+
+
+
+
+ Return a pointer to the unmanaged version of this callback.
+
+ The callback.
+ A pointer to a shadow c++ callback
+
+
+ * [out] */ __RPC__out ULONG *iidCount,
+ * [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids) = 0;
+
+
+ HRESULT ID2D1InspectableProvider::SetComputeInfo([In] ID2D1ComputeInfo* computeInfo)
+
+
+
+ Specify the size used for encoding length for array while using a , just before an array is encoded.
+
+
+
+
+ Use variable length 7Bit Encoding that will output from 1 byte to 5 byte depending on the range of length value.
+
+
+
+
+ Output a length as a byte. The length must not be greater than 255.
+
+
+
+
+ Output a length as an ushort. The length must not be greater than 65535.
+
+
+
+
+ Output a length as an int. The length must not be greater than 2^31 - 1.
+
+
+
+
+ The namespace contains a serialization API.
+
+
+
+
+ Flags used when serializing a value with a .
+
+
+
+
+ Normal serialize (not dynamic, not nullable).
+
+
+
+
+ Serialize a value as a dynamic value (the output stream will contain a magic-code for each encoded object).
+
+
+
+
+ Serialize a value that can be null.
+
+
+
+
+ A singleton string is a string that has a unique instance in memory, See remarks for usage scenarios.
+
+
+ This class should mostly be used internally for performance reasons, in scenarios where equals/hashcode
+ could be invoked frequently, and the set of strings is limited. Internally,
+ string is using the method and also is precaching the hashcode of the string.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The text.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ A lightweight Component base class.
+
+
+
+
+ Occurs while this component is disposing and before it is disposed.
+
+
+
+
+ Gets or sets a value indicating whether the name of this instance is immutable.
+
+ true if this instance is name immutable; otherwise, false.
+
+
+
+ Initializes a new instance of the class with a mutable name.
+
+
+
+
+ Initializes a new instance of the class with an immutable name.
+
+ The name.
+
+
+
+ Gets the name of this component.
+
+ The name.
+
+
+
+ Gets or sets the tag associated to this object.
+
+ The tag.
+
+
+
+ Occurs when a property value changes.
+
+
+
+
+ Pointer to a native buffer with a specific size.
+
+
+
+
+ Gets an Empty Data Pointer.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The pointer.
+ The size.
+
+
+
+ Initializes a new instance of the struct.
+
+ The pointer.
+ The size.
+
+
+
+ Pointer to the buffer.
+
+
+
+
+ Size in bytes of the buffer.
+
+
+
+
+ Implements the ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Gets a value indicating whether this instance is empty (zeroed).
+
+ true if this instance is empty; otherwise, false.
+
+
+
+ The namespace contains classes to help to diagnostic of COM object lifecycles Dispose and Release methods.
+
+
+
+
+ The namespace contains enumerations and structures shared by , and assemblies.
+
+
+
+
+ A class to dispose instances and allocated unmanaged memory.
+
+
+
+
+ Disposes all object collected by this class and clear the list. The collector can still be used for collecting.
+
+
+ To completely dispose this instance and avoid further dispose, use method instead.
+
+
+
+
+ Disposes of object resources.
+
+ If true, managed resources should be
+ disposed of in addition to unmanaged resources.
+
+
+
+ Adds a object or a allocated using to the list of the objects to dispose.
+
+ To dispose.
+ If toDispose argument is not IDisposable or a valid memory pointer allocated by
+
+
+
+ Dispose a disposable object and set the reference to null. Removes this object from this instance..
+
+ Object to dispose.
+
+
+
+ Removes a disposable object to the list of the objects to dispose.
+
+
+ To dispose.
+
+
+
+ Gets the number of elements to dispose.
+
+ The number of elements to dispose.
+
+
+
+ Frustum camera parameters.
+
+
+
+
+ Position of the camera.
+
+
+
+
+ Looking at direction of the camera.
+
+
+
+
+ Up direction.
+
+
+
+
+ Field of view.
+
+
+
+
+ Z near distance.
+
+
+
+
+ Z far distance.
+
+
+
+
+ Aspect ratio.
+
+
+
+
+ Equality comparer using the identify of the object.
+
+ Type of the parameter
+
+ From http://stackoverflow.com/questions/8946790/how-to-use-an-objects-identity-as-key-for-dictionaryk-v.
+
+
+
+
+ Represents a three dimensional mathematical int vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0).
+
+
+
+
+ The Z unit (0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ When the method completes, contains the modulated vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ The modulated vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The namespace contains helper classes in replacement of some classes in useful under Windows 8 Metro.
+
+
+
+
+ This enumeration defines constants that indicate the role that the system has assigned to an audio endpoint device.
+
+ dd370842
+ ERole
+ ERole
+
+
+
+ Games, system notification sounds, and voice commands
+
+
+
+
+ Music, movies, narration, and live music recording.
+
+
+
+
+ Voice communications (talking to another person).
+
+
+
+
+ The namespace contains common structures and helper classes for audio/video processing.
+
+
+
+
+ Use this attribute to specify the id of a dynamic type with .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id to register as a dynamic type.
+
+
+
+ Initializes a new instance of the class.
+
+ The id to register as a dynamic type.
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Exceptions thrown when an invalid chunk is decoded.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The chunk id.
+ The expected chunk id.
+
+
+
+ Gets the chunk id.
+
+ The chunk id.
+
+
+
+ Gets the expected chunk id.
+
+ The expected chunk id.
+
+
+
+ Serializer action.
+
+ The value to read or write.
+ The serializer.
+
+
+
+ This class provides serialization methods for types implementing the .
+
+
+ BinarySerializer is a basic binary serializer with the following features:
+
+
10x times faster and smaller than default System Serialization and Xml Serialization.
+
Supports for all primitive types, array/List<T>/Dictionary of primitive types, custom data via (struct or class) and array/List/Dictionary of custom data.
+
Optimized binary format, data serialized to the strict minimum.
+
Should be compatible with Win8/WinRT, Desktop.
+
Not reflection based serializer, but fully compile time serializer.
+
Format could be read back from C/C++.
+
+
+
+
+
+
+ A disposable component base class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with an immutable name.
+
+ The name.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+
+
+
+ Disposes of object resources.
+
+ If true, managed resources should be
+ disposed of in addition to unmanaged resources.
+
+
+
+ Adds a disposable object to the list of the objects to dispose.
+
+ To dispose.
+
+
+
+ Dispose a disposable object and set the reference to null. Removes this object from the ToDispose list.
+
+ Object to dispose.
+
+
+
+ Removes a disposable object to the list of the objects to dispose.
+
+
+ To dispose.
+
+
+
+ Gets or sets the disposables.
+
+ The disposables.
+
+
+
+ Gets or sets a value indicating whether this instance is attached to a collector.
+
+
+ true if this instance is attached to a collector; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+ true if this instance is disposed; otherwise, false.
+
+
+
+
+ Occurs when when Dispose is called.
+
+
+
+
+ Gets the reader and throws an exception if this serializer is in Write mode.
+
+ The context object that requires a Reader.
+ A BinaryReader.
+ context
+ If this reader is not in read mode
+
+
+
+ Initializes a new instance of the class.
+
+ The stream to read or write to.
+ The read or write mode.
+
+
+
+ Initializes a new instance of the class.
+
+ The stream to read or write to.
+ The read or write mode.
+ Default encoding used for strings. This parameter can be overriden later using Encoding property.
+
+
+
+ Gets a tag value with the specified key.
+
+ The tag key.
+ A tag value associated to a key
+
+
+
+ Determines whether a tag with a specified key is already stored.
+
+ The key.
+ true if a tag with a specified key is already stored; otherwise, false.
+
+
+
+ Removes a tag with the specified key.
+
+ The key.
+
+
+
+ Sets a tag value with the specified key.
+
+ The key.
+ The value.
+
+
+
+
+ Register a dynamic serializer for a particular type implementing the interface and having the .
+
+ Type of the element to serialize.
+
+
+
+ Register a dynamic serializer for a particular type implementing the interface.
+
+ Type of the element to serialize.
+ The id to use for serializing T.
+
+
+
+ Register a dynamic array serializer for a particular type implementing the interface.
+
+ Type of the element in the array.
+ The id to use for serializing T[].
+
+
+
+ Register a dynamic List<T> serializer for a particular type implementing the interface.
+
+ Type of the element in the List<T>.
+ The id to use for serializing List<T>.
+
+
+
+ Register a dynamic serializer using an external action.
+
+ Type of the element to serialize.
+ The id to use for serializing T.
+ The serializer.
+
+
+
+ Begin to serialize a a new chunk.
+
+ The chunk id.
+ If the chuck to read is not the expecting chunk.
+
+ A Chunk is an identifiable portion of data that will serialized. Chunk are useful to encapsulate a variable
+ data (and check for the presence of the chunk Id). Chunk are storing a 4 bytes identifier and the length of
+ the chunk before reading/writing actual data.
+
+
+
+
+ Ends a chunk.
+
+ If there EndChunk is called without a previous BeginChunk.
+ If the size of data read from the chunk is different from chunk size.
+
+
+
+ Deserialize a data from the underlying stream.
+
+ Type of the data to load.
+ An instance of the loaded data.
+
+
+
+ Serializes the specified value to the underlying stream.
+
+ Type of the data to save.
+ The value to save.
+
+
+
+ Flush the underlying
+
+
+
+
+ Serializes a dynamic value that can be nullable.
+
+ Known type of the value to serialize. The known type is not the runtime type that will be actually serialized.
+ The value to serialize based on its runtime type.
+
+
+
+ Serializes a dynamic value.
+
+ Known type of the value to serialize. The known type is not the runtime type that will be actually serialized.
+ The value to serialize based on its runtime type.
+ Type of serialization, see .
+
+
+
+ Serializes a static value implementing the interface.
+
+ Type of the data to serialize.
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a static value implementing the interface. Unlike ,
+ this method doesn't allocate a new instance when reading but use the reference value.
+
+ Type of the data to serialize.
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an enum value.
+
+ Type of the enum to serialize.
+ The value to serialize
+ If type T is not an enum.
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of primitives using serialization methods implemented by this instance for each item in the array.
+
+ Type of the primitive data to serialize.
+ An array of primitive value to serialize
+ The serializer to user to serialize the T values.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements in an array of primitives using serialization methods implemented by this instance for each item in the array.
+
+ Type of the primitive data to serialize.
+ An array of primitive value to serialize
+ Count elements to serialize. See remarks.
+ The serializer to user to serialize the T values.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements in an array of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ An array of value to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes an array of bytes.
+
+ An array of bytes to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes an array of bytes.
+
+ An array of bytes to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a list of primitive values using a specific serializer method from this instance.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ A method of this instance to serialize the primitive T type
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes count elements from a list of static values that are implementing the interface.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes count elements from a list of primitive values using a specific serializer method from this instance.
+
+ Type of the data to serialize.
+ A list of value to serialize
+ A method of this instance to serialize the primitive T type
+ Count elements to serialize. See remarks.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ Caution: Also unlike the plain array version, the count is not serialized. This method is useful
+ when we want to serialize the count of an array separately from the array.
+
+
+
+
+ Serializes a dictionary of key/values that are both implementing the interface.
+
+ Type of key to serialize.
+ Type of value to serialize.
+ A dictionary to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of key to serialize that is implementing the interface.
+ Type of primitive value with its associated serializer.
+ A dictionary to serialize
+ Serializer used for the TValue.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of primitive value with its associated serializer.
+ Type of value to serialize that is implementing the interface.
+ A dictionary to serialize
+ Serializer used for the TKey.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a dictionary of key/values.
+
+ Type of primitive key with its associated serializer.
+ Type of primitive value with its associated serializer.
+ A dictionary to serialize
+ Serializer used for the TKey.
+ Serializer used for the TValue.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single string value.
+
+ The value to serialize
+ Write a null byte at the end of the string.
+ Type of serialization, see .
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single fixed length string value.
+
+ The value to serialize
+ Read/write a specific number of characters.
+
+ Note that depending on the serialization , this method reads or writes the value.
+ This string is serialized with the current set on this instance.
+
+
+
+
+ Serializes a single boolean value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single byte value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single sbyte value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single short value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single ushort value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single int value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single int as a packed value (from 1 byte to 5 byte. if value < 128, then 1 byte...etc.)
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a memory region.
+
+ The pointer to an unmanaged memory region. For read operation, this pointer must be allocated by the caller.
+ If the end of stream was reached before reading all the bytes.
+ Note that depending on the serialization , this method reads or writes the value.
+ This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately.
+
+
+
+
+ Serializes a memory region.
+
+ The data pointer. For read operation, this pointer must be allocated by the caller.
+ The size in bytes. See remarks.
+ If the end of stream was reached before reading all the bytes.
+ Note that depending on the serialization , this method reads or writes the value.
+ This method doesn't serialize the sizeInBytes of the region, so the size must be serialized separately.
+
+
+
+
+ Serializes a single uint value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single long value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single ulong value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single char value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single float value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single double value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single DateTime value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Serializes a single Guid value.
+
+ The value to serialize
+
+ Note that depending on the serialization , this method reads or writes the value.
+
+
+
+
+ Underlying stream this instance is reading/writing to.
+
+
+
+
+ Reader used to directly read from the underlying stream.
+
+
+
+
+ Writer used to directly write to the underlying stream.
+
+
+
+
+ Gets or sets the serialization mode.
+
+ The serialization mode.
+
+
+
+ Gets or sets the encoding used to serialized strings.
+
+ The encoding.
+ When setting a null encoding
+
+
+
+ Enables to serialize an object only once using object reference. Default is false.
+
+ true if [allow null]; otherwise, false.
+ If an invalid matching pair of true/false is detected.
+
+
+
+ Serialization mode used by .
+
+
+
+
+ Reads the data from the stream.
+
+
+
+
+ Writes the data to the stream.
+
+
+
+
+ Shadow attribute used to associate a COM callbackable interface to its Shadow implementation.
+
+
+
+
+ Initializes a new instance of class.
+
+ Type of the associated shadow
+
+
+
+ Get ShadowAttribute from type.
+
+ Type to get shadow attribute
+ The associated shadow attribute or null if no shadow attribute were found
+
+
+
+ Gets the value.
+
+
+
+
+ Represents a 4x4 mathematical Matrix5x4.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 1 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 2 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 3 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 4 column 4 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 1 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 2 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 3 of the Matrix5x4.
+
+
+
+
+ Value at row 5 column 4 of the Matrix5x4.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the Matrix5x4.
+ The value to assign at row 1 column 2 of the Matrix5x4.
+ The value to assign at row 1 column 3 of the Matrix5x4.
+ The value to assign at row 1 column 4 of the Matrix5x4.
+ The value to assign at row 2 column 1 of the Matrix5x4.
+ The value to assign at row 2 column 2 of the Matrix5x4.
+ The value to assign at row 2 column 3 of the Matrix5x4.
+ The value to assign at row 2 column 4 of the Matrix5x4.
+ The value to assign at row 3 column 1 of the Matrix5x4.
+ The value to assign at row 3 column 2 of the Matrix5x4.
+ The value to assign at row 3 column 3 of the Matrix5x4.
+ The value to assign at row 3 column 4 of the Matrix5x4.
+ The value to assign at row 4 column 1 of the Matrix5x4.
+ The value to assign at row 4 column 2 of the Matrix5x4.
+ The value to assign at row 4 column 3 of the Matrix5x4.
+ The value to assign at row 4 column 4 of the Matrix5x4.
+ The value to assign at row 5 column 1 of the Matrix5x4.
+ The value to assign at row 5 column 2 of the Matrix5x4.
+ The value to assign at row 5 column 3 of the Matrix5x4.
+ The value to assign at row 5 column 4 of the Matrix5x4.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the Matrix5x4. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a Matrix5x4 by the given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by the given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled Matrix5x4.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to be negated.
+ When the method completes, contains the negated Matrix5x4.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to be negated.
+ The negated Matrix5x4.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start Matrix5x4.
+ End Matrix5x4.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, y-axis and w-axis
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ Scaling factor that is applied along the w-axis.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that scales along the x-axis, y-axis, z-axis and w-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ Scaling factor that is applied along the w-axis.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling Matrix5x4.
+
+
+
+ Creates a Matrix5x4 that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ The offset for all three coordinate planes.
+ When the method completes, contains the created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ The offset for all three coordinate planes.
+ The created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ W-coordinate offset.
+ When the method completes, contains the created translation Matrix5x4.
+
+
+
+ Creates a translation Matrix5x4 using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ W-coordinate offset.
+ The created translation Matrix5x4.
+
+
+
+ Adds two matrices.
+
+ The first Matrix5x4 to add.
+ The second Matrix5x4 to add.
+ The sum of the two matrices.
+
+
+
+ Assert a Matrix5x4 (return it unchanged).
+
+ The Matrix5x4 to assert (unchanged).
+ The asserted (unchanged) Matrix5x4.
+
+
+
+ Subtracts two matrices.
+
+ The first Matrix5x4 to subtract.
+ The second Matrix5x4 to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a Matrix5x4.
+
+ The Matrix5x4 to negate.
+ The negated Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Scales a Matrix5x4 by a given value.
+
+ The Matrix5x4 to scale.
+ The amount by which to scale.
+ The scaled Matrix5x4.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the first row in the Matrix5x4; that is M11, M12, M13, and M14.
+
+
+
+
+ Gets or sets the second row in the Matrix5x4; that is M21, M22, M23, and M24.
+
+
+
+
+ Gets or sets the third row in the Matrix5x4; that is M31, M32, M33, and M34.
+
+
+
+
+ Gets or sets the fourth row in the Matrix5x4; that is M41, M42, M43, and M44.
+
+
+
+
+ Gets or sets the fifth row in the Matrix5x4; that is M51, M52, M53, and M54.
+
+
+
+
+ Gets or sets the translation of the Matrix5x4; that is M41, M42, and M43.
+
+
+
+
+ Gets or sets the scale of the Matrix5x4; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity Matrix5x4.
+
+
+ true if this instance is an identity Matrix5x4; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix5x4 component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the Matrix5x4 component, depending on the index.
+ The row of the Matrix5x4 to access.
+ The column of the Matrix5x4 to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Descriptor used to provide detailed message for a particular .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The HRESULT error code.
+ The module (ex: SharpDX.Direct2D1).
+ The API code (ex: D2D1_ERR_...).
+ The description of the result code if any.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Registers a provider.
+
+ Type of the descriptors provider.
+
+ Providers are usually registered at module init when SharpDX assemblies are loaded.
+
+
+
+
+ Finds the specified result descriptor.
+
+ The result code.
+ A descriptor for the specified result
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the HRESULT error code.
+
+ The HRESULT error code.
+
+
+
+ Gets the module (ex: SharpDX.Direct2D1)
+
+
+
+
+ Gets the native API code (ex: D2D1_ERR_ ...)
+
+
+
+
+ Gets the API code (ex: DemiceRemoved ...)
+
+
+
+
+ Gets the description of the result code if any.
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Width.
+
+
+
+
+ Height.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ A zero size with (width, height) = (0,0)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Width.
+
+
+
+
+ Height.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+
+
+
+ Structure using the same layout than .
+
+
+
+
+ A point with (0,0) coordinates.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x.
+ The y.
+
+
+
+ Left coordinate.
+
+
+
+
+ Top coordinate.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+
+ The result of the operator.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+
+
+
+ Windows File Helper.
+
+
+
+
+ Checks if the specified file path exists.
+
+ The file path.
+ true if the specified file path exists, false otherwise
+
+
+
+ Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
+
+ The file to open for reading.
+ A byte array containing the contents of the file.
+
+
+
+ Opens a text file, reads all lines of the file, and then closes the file.
+
+ The file to open for reading.
+ A string containing all lines of the file.
+
+
+
+ Opens a text file, reads all lines of the file, and then closes the file.
+
+ The file to open for reading.
+ The encoding.
+ The sharing.
+ A string containing all lines of the file.
+
+
+
+ Gets the size of the file.
+
+ The handle.
+ Size of the file.
+
+ GetFileSizeEx
+
+
+
+ Gets the last write time access for the specified path.
+
+ The path.
+ The last write time access
+
+
+
+ Reads to a file.
+
+ The file handle.
+ The buffer.
+ The number of bytes to read.
+ The number of bytes read.
+ The overlapped.
+ A Result
+ ReadFile
+
+
+
+ Writes to a file.
+
+ The file handle.
+ The buffer.
+ The number of bytes to read.
+ The number of bytes read.
+ The overlapped.
+ A Result
+ WriteFile
+
+
+
+ Sets the file pointer.
+
+ The handle.
+ The distance to move.
+ The distance to move high.
+ The seek origin.
+
+ SetFilePointerEx
+
+
+
+ Sets the end of file.
+
+ The handle.
+
+ SetEndOfFile
+
+
+
+ Creates the file.
+
+ Name of the file.
+ The desired access.
+ The share mode.
+ The creation disposition.
+ The extended parameters.
+ A handle to the created file. IntPtr.Zero if failed.
+ CreateFile2
+
+
+
+ Windows File Helper.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The file mode.
+ The access mode.
+ The share mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads a block of bytes from the stream and writes the data in a given buffer.
+
+ When this method returns, contains the specified buffer with the values between offset and (offset + count - 1) replaced by the bytes read from the current source.
+ The byte offset in array at which the read bytes will be placed.
+ The maximum number of bytes to read.
+ array is null.
+ The total number of bytes read into the buffer. This might be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached.
+
+
+
+
+
+
+ Writes a block of bytes to this stream using data from a buffer.
+
+ The buffer containing data to write to the stream.
+ The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Native File access flags.
+
+
+
+
+ Read access.
+
+
+
+
+ Write access.
+
+
+
+
+ Read/Write Access,
+
+
+
+
+ Execute access.
+
+
+
+
+ All access
+
+
+
+
+ Native file attributes.
+
+
+
+
+ None attribute.
+
+
+
+
+ Read only attribute.
+
+
+
+
+ Hidden attribute.
+
+
+
+
+ System attribute.
+
+
+
+
+ Directory attribute.
+
+
+
+
+ Archive attribute.
+
+
+
+
+ Device attribute.
+
+
+
+
+ Normal attribute.
+
+
+
+
+ Temporary attribute.
+
+
+
+
+ Sparse file attribute.
+
+
+
+
+ ReparsePoint attribute.
+
+
+
+
+ Compressed attribute.
+
+
+
+
+ Offline attribute.
+
+
+
+
+ Not content indexed attribute.
+
+
+
+
+ Encrypted attribute.
+
+
+
+
+ Write through attribute.
+
+
+
+
+ Overlapped attribute.
+
+
+
+
+ No buffering attribute.
+
+
+
+
+ Random access attribute.
+
+
+
+
+ Sequential scan attribute.
+
+
+
+
+ Delete on close attribute.
+
+
+
+
+ Backup semantics attribute.
+
+
+
+
+ Post semantics attribute.
+
+
+
+
+ Open reparse point attribute.
+
+
+
+
+ Open no recall attribute.
+
+
+
+
+ First pipe instance attribute.
+
+
+
+
+ Native file creation disposition.
+
+
+
+
+ Creates a new file. The function fails if a specified file exists.
+
+
+
+
+ Creates a new file, always.
+ If a file exists, the function overwrites the file, clears the existing attributes, combines the specified file attributes,
+ and flags with FILE_ATTRIBUTE_ARCHIVE, but does not set the security descriptor that the SECURITY_ATTRIBUTES structure specifies.
+
+
+
+
+ Opens a file. The function fails if the file does not exist.
+
+
+
+
+ Opens a file, always.
+ If a file does not exist, the function creates a file as if dwCreationDisposition is CREATE_NEW.
+
+
+
+
+ Opens a file and truncates it so that its size is 0 (zero) bytes. The function fails if the file does not exist.
+ The calling process must open the file with the GENERIC_WRITE access right.
+
+
+
+
+ Native file share.
+
+
+
+
+ None flag.
+
+
+
+
+ Enables subsequent open operations on an object to request read access.
+ Otherwise, other processes cannot open the object if they request read access.
+ If this flag is not specified, but the object has been opened for read access, the function fails.
+
+
+
+
+ Enables subsequent open operations on an object to request write access.
+ Otherwise, other processes cannot open the object if they request write access.
+ If this flag is not specified, but the object has been opened for write access, the function fails.
+
+
+
+
+ Read and Write flags.
+
+
+
+
+ Enables subsequent open operations on an object to request delete access.
+ Otherwise, other processes cannot open the object if they request delete access.
+ If this flag is not specified, but the object has been opened for delete access, the function fails.
+
+
+
+
+ Direct2D Matrix3x2. Supports implicit cast from .
+
+
+
+
+ Gets the identity matrix.
+
+ The identity matrix.
+
+
+
+ Element (1,1)
+
+
+
+
+ Element (1,2)
+
+
+
+
+ Element (2,1)
+
+
+
+
+ Element (2,2)
+
+
+
+
+ Element (3,1)
+
+
+
+
+ Element (3,2)
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the matrix.
+ The value to assign at row 1 column 2 of the matrix.
+ The value to assign at row 2 column 1 of the matrix.
+ The value to assign at row 2 column 2 of the matrix.
+ The value to assign at row 3 column 1 of the matrix.
+ The value to assign at row 3 column 2 of the matrix.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the matrix. This must be an array with six elements.
+ Thrown when is null.
+ Thrown when contains more or less than six elements.
+
+
+
+ Creates an array containing the elements of the matrix.
+
+ A sixteen-element array containing the components of the matrix.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ When the method completes, contains the negated matrix.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ The negated matrix.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor for both axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor for both axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along both axes.
+
+ The uniform scale that is applied along both axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along both axes.
+
+ The uniform scale that is applied along both axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that is scaling from a specified center.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The center of the scaling.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that is scaling from a specified center.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ The center of the scaling.
+ The created scaling matrix.
+
+
+
+ Calculates the determinant of this matrix.
+
+ Result of the determinant.
+
+
+
+ Creates a matrix that rotates.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates about a specified center.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The center of the rotation.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates about a specified center.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ The center of the rotation.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis.
+ X-coordinate offset.
+ Y-coordinate offset.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Angle of rotation in radians.
+ X-coordinate offset.
+ Y-coordinate offset.
+ The created transformation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for both coordinate planes.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for both coordinate planes.
+ The created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ The created translation matrix.
+
+
+
+ Transforms a vector by this matrix.
+
+ The matrix to use as a transformation matrix.
+ The original vector to apply the transformation.
+ The result of the transformation for the input vector.
+
+
+
+ Transforms a vector by this matrix.
+
+ The matrix to use as a transformation matrix.
+ The original vector to apply the transformation.
+ The result of the transformation for the input vector.
+
+
+
+
+ Calculates the inverse of this matrix instance.
+
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ the inverse of the specified matrix.
+
+
+
+ Creates a skew matrix.
+
+ Angle of skew along the X-axis in radians.
+ Angle of skew along the Y-axis in radians.
+ The created skew matrix.
+
+
+
+ Creates a skew matrix.
+
+ Angle of skew along the X-axis in radians.
+ Angle of skew along the Y-axis in radians.
+ When the method completes, contains the created skew matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified matrix.
+
+
+
+ Adds two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Assert a matrix (return it unchanged).
+
+ The matrix to assert (unchanged).
+ The asserted (unchanged) matrix.
+
+
+
+ Subtracts two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to negate.
+ The negated matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Multiplies two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Divides two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The matrix.
+ The result of the conversion.
+
+
+
+ Gets or sets the first row in the matrix; that is M11 and M12.
+
+
+
+
+ Gets or sets the second row in the matrix; that is M21 and M22.
+
+
+
+
+ Gets or sets the third row in the matrix; that is M31 and M32.
+
+
+
+
+ Gets or sets the first column in the matrix; that is M11, M21, and M31.
+
+
+
+
+ Gets or sets the second column in the matrix; that is M12, M22, and M32.
+
+
+
+
+ Gets or sets the translation of the matrix; that is M31 and M32.
+
+
+
+
+ Gets or sets the scale of the matrix; that is M11 and M22.
+
+
+
+
+ Gets a value indicating whether this instance is an identity matrix.
+
+
+ true if this instance is an identity matrix; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 5].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The row of the matrix to access.
+ The column of the matrix to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ The ShadowContainer is the main container used internally to keep references to all native COM/C++ callbacks.
+ It is stored in the property .
+
+
+
+
+ Contains static methods to help in determining intersections, containment, etc.
+
+
+
+
+ Determines the closest point between a point and a triangle.
+
+ The point to test.
+ The first vertex to test.
+ The second vertex to test.
+ The third vertex to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+ The plane to test.
+ The point to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+ The box to test.
+ The point to test.
+ When the method completes, contains the closest point between the two objects.
+
+
+
+ Determines the closest point between a and a point.
+
+
+ The point to test.
+ When the method completes, contains the closest point between the two objects;
+ or, if the point is directly in the center of the sphere, contains .
+
+
+
+ Determines the closest point between a and a .
+
+ The first sphere to test.
+ The second sphere to test.
+ When the method completes, contains the closest point between the two objects;
+ or, if the point is directly in the center of the sphere, contains .
+
+ If the two spheres are overlapping, but not directly on top of each other, the closest point
+ is the 'closest' point of intersection. This can also be considered is the deepest point of
+ intersection.
+
+
+
+
+ Determines the distance between a and a point.
+
+ The plane to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a point.
+
+ The box to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a .
+
+ The first box to test.
+ The second box to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a point.
+
+ The sphere to test.
+ The point to test.
+ The distance between the two objects.
+
+
+
+ Determines the distance between a and a .
+
+ The first sphere to test.
+ The second sphere to test.
+ The distance between the two objects.
+
+
+
+ Determines whether there is an intersection between a and a point.
+
+ The ray to test.
+ The point to test.
+ Whether the two objects intersect.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first ray to test.
+ The second ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersect.
+
+ This method performs a ray vs ray intersection test based on the following formula
+ from Goldman.
+ s = det([o_2 - o_1, d_2, d_1 x d_2]) / ||d_1 x d_2||^2
+ t = det([o_2 - o_1, d_1, d_1 x d_2]) / ||d_1 x d_2||^2
+ Where o_1 is the position of the first ray, o_2 is the position of the second ray,
+ d_1 is the normalized direction of the first ray, d_2 is the normalized direction
+ of the second ray, det denotes the determinant of a matrix, x denotes the cross
+ product, [ ] denotes a matrix, and || || denotes the length or magnitude of a vector.
+
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The plane to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersect.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The plane to test
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The ray to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+ This method tests if the ray intersects either the front or back of the triangle.
+ If the ray is parallel to the triangle's plane, no intersection is assumed to have
+ happened. If the intersection of the ray and the triangle is behind the origin of
+ the ray, no intersection is assumed to have happened. In both cases of assumptions,
+ this method returns false.
+
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The ray to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The box to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The box to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The sphere to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The ray to test.
+ The sphere to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a point.
+
+ The plane to test.
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first plane to test.
+ The second plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first plane to test.
+ The second plane to test.
+ When the method completes, contains the line of intersection
+ as a , or a zero ray if there was no intersection.
+ Whether the two objects intersected.
+
+ Although a ray is set to have an origin, the ray returned by this method is really
+ a line in three dimensions which has no real origin. The ray is considered valid when
+ both the positive direction is used and when the negative direction is used.
+
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The plane to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The plane to test.
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The plane to test.
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The first box to test.
+ The second box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ The box to test.
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a triangle.
+
+ The sphere to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether there is an intersection between a and a .
+
+ First sphere to test.
+ Second sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines whether a contains a point.
+
+ The box to test.
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The first box to test.
+ The second box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The box to test.
+ The sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a point.
+
+ The sphere to test.
+ The point to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a triangle.
+
+ The sphere to test.
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The sphere to test.
+ The box to test.
+ The type of containment the two objects have.
+
+
+
+ Determines whether a contains a .
+
+ The first sphere to test.
+ The second sphere to test.
+ The type of containment the two objects have.
+
+
+
+ Represents a color in the form of rgb.
+
+
+
+
+ The Black color (0, 0, 0).
+
+
+
+
+ The White color (1, 1, 1, 1).
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all three color components in RGB order.
+ The alpha component is ignored.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, and blue components of the color. This must be an array with three elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all three color components.
+ The alpha channel is set to 255.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all three color components.
+ The alpha channel is set to 255.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A three-element array containing the components of the color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The color alpha.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The color alpha.
+ The premultiplied color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (float)
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel element (float).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the red, green, or blue component, depending on the index.
+ The index of the component to access. Use 0 for the red component, 1 for the green component, and 2 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 2].
+
+
+
+ Represents a color in the form of rgba.
+
+
+
+
+ The Black color (0, 0, 0, 1).
+
+
+
+
+ The White color (1, 1, 1, 1).
+
+
+
+
+ The red component of the color.
+
+
+
+
+ The green component of the color.
+
+
+
+
+ The blue component of the color.
+
+
+
+
+ The alpha component of the color.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red component of the color.
+ The green component of the color.
+ The blue component of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, blue, and alpha components of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ The red, green, and blue components of the color.
+ The alpha component of the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ A packed integer containing all four color components in RGBA order.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the red, green, blue, and alpha components of the color. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Initializes a new instance of the struct.
+
+ used to initialize the color.
+
+
+
+ Initializes a new instance of the struct.
+
+ used to initialize the color.
+ The alpha component of the color.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a packed integer.
+
+ A packed integer containing all four color components.
+
+
+
+ Converts the color into a three component vector.
+
+ A three component vector containing the red, green, and blue components of the color.
+
+
+
+ Converts the color into a four component vector.
+
+ A four component vector containing all four color components.
+
+
+
+ Creates an array containing the elements of the color.
+
+ A four-element array containing the components of the color.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ When the method completes, completes the sum of the two colors.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ WHen the method completes, contains the difference of the two colors.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract
+ The difference of the two colors.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ When the method completes, contains the modulated color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled color.
+
+
+
+ Scales a color.
+
+ The color to scale.
+ The amount by which to scale.
+ The scaled color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ When the method completes, contains the negated color.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ The negated color.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two colors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two colors.
+
+
+
+ Performs a cubic interpolation between two colors.
+
+ Start color.
+ End color.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the largest components of the source colors.
+
+
+
+ Returns a color containing the largest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the largest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ When the method completes, contains an new color composed of the smallest components of the source colors.
+
+
+
+ Returns a color containing the smallest components of the specified colors.
+
+ The first source color.
+ The second source color.
+ A color containing the smallest components of the source colors.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the contrast of a color.
+
+ The color whose contrast is to be adjusted.
+ The amount by which to adjust the contrast.
+ The adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ When the method completes, contains the adjusted color.
+
+
+
+ Adjusts the saturation of a color.
+
+ The color whose saturation is to be adjusted.
+ The amount by which to adjust the saturation.
+ The adjusted color.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Computes the premultiplied value of the provided color.
+
+ The non-premultiplied value.
+ The premultiplied result.
+
+
+
+ Adds two colors.
+
+ The first color to add.
+ The second color to add.
+ The sum of the two colors.
+
+
+
+ Assert a color (return it unchanged).
+
+ The color to assert (unchanged).
+ The asserted (unchanged) color.
+
+
+
+ Subtracts two colors.
+
+ The first color to subtract.
+ The second color to subtract.
+ The difference of the two colors.
+
+
+
+ Negates a color.
+
+ The color to negate.
+ A negated color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Scales a color.
+
+ The factor by which to scale the color.
+ The color to scale.
+ The scaled color.
+
+
+
+ Modulates two colors.
+
+ The first color to modulate.
+ The second color to modulate.
+ The modulated color.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (float).
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format to apply to each channel (float).
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the red, green, blue, and alpha components, depending on the index.
+ The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Gets or sets the unmanaged callback.
+
+ The unmanaged callback.
+
+ This property is set whenever this instance has an unmanaged callback
+ registered. This callback must be disposed when disposing this instance.
+
+
+
+
+ Root IUnknown class to interop with COM object
+
+
+
+
+ Base interface for Component Object Model (COM).
+
+
+
+
+ Queries the supported COM interface on this instance.
+
+ The guid of the interface.
+ The output COM object reference.
+ If successful,
+
+
+
+ Increments the reference count for an interface on this instance.
+
+ The method returns the new reference count.
+
+
+
+ Decrements the reference count for an interface on this instance.
+
+ The method returns the new reference count.
+
+
+
+ Initializes a new instance of the class.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class from a IUnknown object.
+
+ Reference to a IUnknown object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Query this instance for a particular COM GUID/interface support.
+
+ GUID query interface
+ output object associated with this GUID, IntPtr.Zero in interface is not supported
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query instance for a particular COM GUID/interface support.
+
+ GUID query interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Compares 2 COM objects and return true if the native pointer is the same.
+
+ The left.
+ The right.
+ true if the native pointer is the same, false otherwise
+
+
+
+ Query this instance for a particular COM interface support.
+
+ The type of the COM interface to query
+ An instance of the queried interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query this instance for a particular COM interface support.
+
+ The type of the COM interface to query
+ An instance of the queried interface
+ If this object doesn't support the interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support (This method is a shortcut to )
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support (This method is a shortcut to )
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support.
+
+ The type of the COM interface to query
+ The managed COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Queries a managed object for a particular COM interface support.
+
+ The type of the COM interface to query
+ A pointer to a COM object.
+ An instance of the queried interface
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Query Interface for a particular interface support.
+
+ An instance of the queried interface or null if it is not supported
+
+ ms682521
+ IUnknown::QueryInterface
+ IUnknown::QueryInterface
+
+
+
+ Performs an explicit conversion from to .
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+ Query Interface for a particular interface support and attach to the given instance.
+
+
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+ ms682317
+ IUnknown::Release
+ IUnknown::Release
+
+
+
+ Base class for unmanaged callbackable Com object.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Pointer to Cpp Object
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Implements but it cannot not be set.
+ This is only used to support for interop with unmanaged callback.
+
+
+
+
+ A compilation exception.
+
+
+
+
+ The base class for errors that occur in SharpDX.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The result code that caused this exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The result descriptor.
+
+
+
+ Initializes a new instance of the class.
+
+ The error result code.
+ The message describing the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The error result code.
+ The message describing the exception.
+ formatting arguments
+
+
+
+ Initializes a new instance of the class.
+
+ The message describing the exception.
+ formatting arguments
+
+
+
+ Initializes a new instance of the class.
+
+ The message describing the exception.
+ The exception that caused this exception.
+ formatting arguments
+
+
+
+ Gets the Result code for the exception. This value indicates
+ the specific type of failure that occurred within SharpDX.
+
+
+
+
+ Gets the Result code for the exception. This value indicates
+ the specific type of failure that occurred within SharpDX.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The error code.
+ The message.
+
+
+
+ Global configuration.
+
+
+
+
+ Enables or disables object tracking. Default is disabled (false).
+
+
+ Object Tracking is used to track COM object lifecycle creation/dispose. When this option is enabled
+ objects can be tracked using . Using Object tracking has a significant
+ impact on performance and should be used only while debugging.
+
+
+
+
+ Enables or disables release of on finalizer. Default is disabled (false).
+
+
+
+
+ Enables or disables writing a warning via if a was disposed in the finalizer. Default is enabled (true).
+
+
+
+
+ Throws a when a shader or effect compilation error occurred. Default is enabled (true).
+
+
+
+
+ By default all objects in the process are tracked.
+ Use this property to track objects per thread.
+
+
+
+
+ Provides access to data organized in 3D.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The datapointer.
+ The row pitch.
+ The slice pitch.
+
+
+
+ Initializes a new instance of the struct.
+
+ The data pointer.
+
+
+
+ Pointer to the data.
+
+
+
+
+ Gets the number of bytes per row.
+
+
+
+
+ Gets the number of bytes per slice (for a 3D texture, a slice is a 2D image)
+
+
+
+
+ Gets a value indicating whether this instance is empty.
+
+ true if this instance is empty; otherwise, false.
+
+
+
+ Provides access to data organized in 2D.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The data pointer.
+ The pitch.
+
+
+
+ Pointer to the data.
+
+
+
+
+ Gets the number of bytes per row.
+
+
+
+
+ Provides a stream interface to a buffer located in unmanaged memory.
+
+
+
+
+ Initializes a new instance of the class from a Blob buffer.
+
+ The buffer.
+
+
+
+ Initializes a new instance of the class, using a managed buffer as a backing store.
+
+
+ A managed array to be used as a backing store.
+ true if reading from the buffer should be allowed; otherwise, false.
+ true if writing to the buffer should be allowed; otherwise, false.
+ Index inside the buffer in terms of element count (not size in bytes).
+ True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true.
+
+
+
+
+ Initializes a new instance of the class, and allocates a new buffer to use as a backing store.
+
+ The size of the buffer to be allocated, in bytes.
+
+ true if reading from the buffer should be allowed; otherwise, false.
+
+ true if writing to the buffer should be allowed; otherwise, false.
+
+
+
+ Initializes a new instance of the class, using an unmanaged buffer as a backing store.
+
+ A pointer to the buffer to be used as a backing store.
+ The size of the buffer provided, in bytes.
+
+ true if reading from the buffer should be allowed; otherwise, false.
+
+ true if writing to the buffer should be allowed; otherwise, false.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Not supported.
+
+ Always thrown.
+
+
+
+ Reads a single value from the current stream and advances the current
+ position within this stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the value to be read from the stream.
+ The value that was read.
+ This stream does not support reading.
+
+
+
+ Reads a float.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a float from the stream
+
+
+
+ Reads a int.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an int from the stream
+
+
+
+ Reads a short.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an short from the stream
+
+
+
+ Reads a bool.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an bool from the stream
+
+
+
+ Reads a Vector2.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector2 from the stream
+
+
+
+ Reads a Vector3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector3 from the stream
+
+
+
+ Reads a Vector4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Vector4 from the stream
+
+
+
+ Reads a Color3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Color3 from the stream
+
+
+
+ Reads a Color4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Color4 from the stream
+
+
+
+ Reads a Half.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half from the stream
+
+
+
+ Reads a Half2.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half2 from the stream
+
+
+
+ Reads a Half3.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half3 from the stream
+
+
+
+ Reads a Half4.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ an Half4 from the stream
+
+
+
+ Reads a Matrix.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a Matrix from the stream
+
+
+
+ Reads a Quaternion.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ a Quaternion from the stream
+
+
+
+
+
+
+ Reads a sequence of bytes from the current stream and advances the position
+ within the stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be read from the stream.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current stream.
+ The maximum number of bytes to be read from the current stream.
+ The number of bytes read from the stream.
+ This stream does not support reading.
+
+
+
+ Reads a sequence of bytes from the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+ Reads an array of values from the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the values to be read from the stream.
+ An array of values that was read from the current stream.
+
+
+
+ Reads a sequence of elements from the current stream into a target buffer and
+ advances the position within the stream by the number of bytes read.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be read from the stream.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current stream.
+ The number of values to be read from the current stream.
+ The number of bytes read from the stream.
+ This stream does not support reading.
+
+
+
+ Sets the position within the current stream.
+
+ Attempted to seek outside of the bounds of the stream.
+
+
+
+ Not supported.
+
+ Always ignored.
+ Always thrown.
+
+
+
+ Writes a single value to the stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the value to be written to the stream.
+ The value to write to the stream.
+ The stream does not support writing.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes the specified value.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The value.
+
+
+
+ Writes a sequence of bytes to the current stream and advances the current
+ position within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of bytes. This method copies count bytes from buffer to the current stream.
+ The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+ This stream does not support writing.
+
+
+
+ When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+
+
+ Writes an array of values to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ An array of values to be written to the current stream.
+ This stream does not support writing.
+
+
+
+ Writes a range of bytes to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ A pointer to the location to start copying from.
+ The number of bytes to copy from source to the current stream.
+ This stream does not support writing.
+
+
+
+ Writes an array of values to the current stream, and advances the current position
+ within this stream by the number of bytes written.
+
+
+ In order to provide faster read/write, this operation doesn't check stream bound.
+ A client must carefully not read/write above the size of this datastream.
+
+ The type of the values to be written to the stream.
+ An array of values to be written to the stream.
+ The zero-based offset in data at which to begin copying values to the current stream.
+ The number of values to be written to the current stream. If this is zero,
+ all of the contents will be written.
+ This stream does not support writing.
+
+
+
+ Performs an explicit conversion from to .
+
+ The from value.
+ The result of the conversion.
+
+
+
+ Gets a value indicating whether the current stream supports reading.
+
+
+ true if the stream supports reading; otherwise, false.
+
+
+
+ Gets a value indicating whether the current stream supports seeking.
+
+ Always true.
+
+
+
+ Gets a value indicating whether the current stream supports writing.
+
+
+ true if the stream supports writing; otherwise, false.
+
+
+
+ Gets the internal pointer to the current stream's backing store.
+
+ An IntPtr to the buffer being used as a backing store.
+
+
+
+ Gets the length in bytes of the stream.
+
+ A long value representing the length of the stream in bytes.
+
+
+
+ Gets or sets the position within the current stream.
+
+ The current position within the stream.
+ Stream Class
+
+
+
+ Gets the position pointer.
+
+ The position pointer.
+
+
+
+ Gets the length of the remaining.
+
+ The length of the remaining.
+
+
+
+ Provides methods to perform fast read/write random access data on a buffer located in an unmanaged memory.
+
+
+ This class doesn't validate the position read/write from. It is the responsibility of the client of this class
+ to verify that access is done within the size of the buffer.
+
+
+
+
+ Creates the specified user buffer.
+
+ Type of the buffer.
+ The buffer to use as a DataBuffer.
+ Index inside the buffer in terms of element count (not size in bytes).
+ True to keep the managed buffer and pin it, false will allocate unmanaged memory and make a copy of it. Default is true.
+ An instance of a DataBuffer
+
+
+
+ Initializes a new instance of the class, and allocates a new buffer to use as a backing store.
+
+ The size of the buffer to be allocated, in bytes.
+
+ is less than 1.
+
+
+
+ Initializes a new instance of the class, using an unmanaged buffer as a backing store.
+
+ A pointer to the buffer to be used as a backing store.
+ The size of the buffer provided, in bytes.
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Clears the buffer.
+
+
+
+
+ Gets a single value from the current buffer at the specified position.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ The type of the value to be read from the buffer.
+ The value that was read.
+
+
+
+ Gets a single value from the current buffer at the specified position.
+
+ The type of the value to be read from the buffer.
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ The value as out.
+ The value that was read.
+
+
+
+ Gets a float.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a float from the buffer
+
+
+
+ Gets a int.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an int from the buffer
+
+
+
+ Gets a short.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an short from the buffer
+
+
+
+ Gets a bool.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an bool from the buffer
+
+
+
+ Gets a Vector2.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector2 from the buffer
+
+
+
+ Gets a Vector3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector3 from the buffer
+
+
+
+ Gets a Vector4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Vector4 from the buffer
+
+
+
+ Gets a Color3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Color3 from the buffer
+
+
+
+ Gets a Color4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Color4 from the buffer
+
+
+
+ Gets a Half.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half from the buffer
+
+
+
+ Gets a Half2.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half2 from the buffer
+
+
+
+ Gets a Half3.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half3 from the buffer
+
+
+
+ Gets a Half4.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ an Half4 from the buffer
+
+
+
+ Gets a Matrix.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a Matrix from the buffer
+
+
+
+ Gets a Quaternion.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ a Quaternion from the buffer
+
+
+
+ Gets an array of values from a position in the buffer.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ number of T instance to get from the positionInBytes
+ The type of the values to be read from the buffer.
+ An array of values that was read from the current buffer.
+
+
+
+ Gets a sequence of elements from a position in the buffer into a target buffer.
+
+ Relative position in bytes from the beginning of the buffer to get the data from.
+ An array of values to be read from the buffer.
+ The zero-based byte offset in buffer at which to begin storing
+ the data read from the current buffer.
+ The number of values to be read from the current buffer.
+
+
+
+ Sets a single value to the buffer at a specified position.
+
+ The type of the value to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value to write to the buffer.
+
+
+
+ Sets a single value to the buffer at a specified position.
+
+ The type of the value to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value to write to the buffer.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets the specified value.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ The value.
+
+
+
+ Sets an array of values to a specified position into the buffer.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ An array of values to be written to the current buffer.
+
+
+
+ Sets a range of data to a specified position into the buffer.
+
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ A pointer to the location to start copying from.
+ The number of bytes to copy from source to the current buffer.
+
+
+
+ Sets an array of values to a specified position into the buffer.
+
+ The type of the values to be written to the buffer.
+ Relative position in bytes from the beginning of the buffer to set the data to.
+ An array of values to be written to the buffer.
+ The zero-based offset in data at which to begin copying values to the current buffer.
+ The number of values to be written to the current buffer. If this is zero,
+ all of the contents will be written.
+
+
+
+ Performs an explicit conversion from to .
+
+ The from value.
+ The result of the conversion.
+
+
+
+ Gets a pointer to the buffer used as a backing store..
+
+ An IntPtr to the buffer being used as a backing store.
+
+
+
+ Gets the length in bytes of the buffer.
+
+ A long value representing the length of the buffer in bytes.
+
+
+
+ Contains information about a tracked COM object.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The creation time.
+ The com object to track.
+ The stack trace.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets the time the object was created.
+
+ The creation time.
+
+
+
+ Gets a weak reference to the tracked object.
+
+ The weak reference to the tracked object.
+
+
+
+ Gets the stack trace when the track object was created.
+
+ The stack trace.
+
+
+
+ Gets a value indicating whether the tracked object is alive.
+
+ true if tracked object is alive; otherwise, false.
+
+
+
+ Event args for used by .
+
+
+
+
+ The object being tracked/untracked.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The o.
+
+
+
+ Track all allocated objects.
+
+
+
+
+ Tracks the specified COM object.
+
+ The COM object.
+
+
+
+ Finds a list of object reference from a specified COM object pointer.
+
+ The COM object pointer.
+ A list of object reference
+
+
+
+ Finds the object reference for a specific COM object.
+
+ The COM object.
+ An object reference
+
+
+
+ Untracks the specified COM object.
+
+ The COM object.
+
+
+
+ Reports all COM object that are active and not yet disposed.
+
+
+
+
+ Reports all COM object that are active and not yet disposed.
+
+
+
+
+ Occurs when a ComObject is tracked.
+
+
+
+
+ Occurs when a ComObject is untracked.
+
+
+
+
+ Describes the type of angle.
+
+
+
+
+ Specifies an angle measurement in revolutions.
+
+
+
+
+ Specifies an angle measurement in degrees.
+
+
+
+
+ Specifies an angle measurement in radians.
+
+
+
+
+ Specifies an angle measurement in gradians.
+
+
+
+
+ Describes how one bounding volume contains another.
+
+
+
+
+ The two bounding volumes don't intersect at all.
+
+
+
+
+ One bounding volume completely contains another.
+
+
+
+
+ The two bounding volumes overlap.
+
+
+
+
+ Describes the result of an intersection with a plane in three dimensions.
+
+
+
+
+ The object is behind the plane.
+
+
+
+
+ The object is in front of the plane.
+
+
+
+
+ The object is intersecting the plane.
+
+
+
+
+ FunctionCallback
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
Driver type options.
+
+
+
The driver type is required when calling or D3D11CreateDeviceAndSwapChain.
A hardware driver, which implements Direct3D features in hardware. This is the primary driver that you should use in your Direct3D applications because it provides the best performance. A hardware driver uses hardware acceleration (on supported hardware) but can also use software for parts of the pipeline that are not supported in hardware. This driver type is often referred to as a hardware abstraction layer or HAL.
A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.
A null driver, which is a reference driver without render capability. This driver is commonly used for debugging non-rendering API calls, it is not appropriate for retail applications. This driver is installed by the DirectX SDK.
A software driver, which is a driver implemented completely in software. The software implementation is not intended for a high-performance application due to its very slow performance.
A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.
Targets features supported by Direct3D 11.1 including Direct3D device sharing. Device sharing enables Direct3D 10 and Direct3D 11 APIs to use one underlying rendering device. For more information about device sharing, see .
Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.
+
+
+
Use the method and a value from to bind a primitive topology to the input-assembler stage. Use the method to retrieve the primitive topology for the input-assembler stage.
The following diagram shows the various primitive types for a geometry shader object.
This interface is used to return arbitrary length data.
+
+
+
An is obtained by calling D3D10CreateBlob.
The ID3DBlob interface is type defined in the D3DCommon.h header file as a interface, which is fully defined in the D3DCommon.h header file. ID3DBlob is version neutral and can be used in code for any Direct3D version.
Blobs can be used as a data buffer, storing vertex, adjacency, and material information during mesh optimization and loading operations. Also, these objects are used to return object code and error messages in APIs that compile vertex, geometry and pixel shaders.
+
+
+ bb173507
+ ID3D10Blob
+ ID3D10Blob
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
A multithread interface accesses multithread settings and can only be used if the thread-safe layer is turned on.
+
+
+
This interface is obtained by querying it from the ID3D10Device Interface using IUnknown::QueryInterface.
+
+
+ bb173816
+ ID3D10Multithread
+ ID3D10Multithread
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
Enter a device's critical section.
+
+
+
Entering a device's critical section prevents other threads from simultaneously calling that device's methods (if multithread protection is set to true), calling DXGI methods, and calling the methods of all resource, view, shader, state, and asynchronous interfaces.
This function should be used in multithreaded applications when there is a series of graphics commands that must happen in order. This function is typically called at the beginning of the series of graphics commands, and is typically called after those graphics commands.
This function is typically used in multithreaded applications when there is a series of graphics commands that must happen in order. is typically called at the beginning of a series of graphics commands, and this function is typically called after those graphics commands.
+
+
+ ff728732
+ const char* Name
+ char Name
+
+
+
+
The macro definition.
+
+
+ ff728732
+ const char* Definition
+ char Definition
+
+
+
+ Initializes a new instance of the struct.
+
+
+ The name.
+
+
+ The definition.
+
+
+
+
+
The enumeration defines constants that indicate whether an audio stream will run in shared mode or in exclusive mode.
+
+
+
The IAudioClient::Initialize and IAudioClient::IsFormatSupported methods use the constants defined in the enumeration.
In shared mode, the client can share the audio endpoint device with clients that run in other user-mode processes. The audio engine always supports formats for client streams that match the engine's mix format. In addition, the audio engine might support another format if the Windows audio service can insert system effects into the client stream to convert the client format to the mix format.
In exclusive mode, the Windows audio service attempts to establish a connection in which the client has exclusive access to the audio endpoint device. In this mode, the audio engine inserts no system effects into the local stream to aid in the creation of the connection point. Either the audio device can handle the specified format directly or the method fails.
For more information about shared-mode and exclusive-mode streams, see User-Mode Audio Components.
The AudioSessionState enumeration defines constants that indicate the current state of an audio session.
+
+
+
When a client opens a session by assigning the first stream to the session (by calling the IAudioClient::Initialize method), the initial session state is inactive. The session state changes from inactive to active when a stream in the session begins running (because the client has called the IAudioClient::Start method). The session changes from active to inactive when the client stops the last running stream in the session (by calling the IAudioClient::Stop method). The session state changes to expired when the client destroys the last stream in the session by releasing all references to the stream object.
The system volume-control program, Sndvol, displays volume controls for both active and inactive sessions. Sndvol stops displaying the volume control for a session when the session state changes to expired. For more information about Sndvol, see Audio Sessions.
The IAudioSessionControl::GetState and IAudioSessionEvents::OnStateChanged methods use the constants defined in the AudioSessionState enumeration.
For more information about session states, see Audio Sessions.
The
+ enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the
+ ILockBytes::LockRegion and
+ methods.
The
+ enumeration values indicate whether the method should try to return a name in the pwcsName member of the
+ structure. The values are used in the
+ ILockBytes::Stat,
+ IStorage::Stat, and
+ methods to save memory when the pwcsName member is not required.
The
+ interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.
The
+ interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an
+ interface reference rather than a file handle.
The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.
Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.
Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous
+ IMoniker::BindToStorage operation and for receiving asynchronous notifications. See
+ URL Monikers for more information. The following table compares the behavior of asynchronous
+ and
+ calls returned in IBindStatusCallback::OnDataAvailable in these two download models:
+
+
+ aa380034
+ IStream
+ IStream
+
+
+
+
The
+ interface supports simplified sequential access to stream objects. The
+ interface inherits its
+ Read and
+ Write methods from
+ .
The
+ interface supports simplified sequential access to stream objects. The
+ interface inherits its
+ Read and
+ Write methods from
+ .
+
+
+ aa380010
+ ISequentialStream
+ ISequentialStream
+
+
+
+ Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.
+
+ The read buffer.
+ The number of bytes to read.
+ The actual number of bytes read from the stream object.
+
+
+
+ Writes a specified number of bytes into the stream object starting at the current seek pointer.
+
+ The buffer.
+ The number of bytes to read.
+ The actual number of bytes written to the stream object
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
The Read method reads a specified number of bytes from the stream object into memory, starting at the current seek reference.
+
+
A reference to the buffer which the stream data is read into.
+
The number of bytes of data to read from the stream object.
+
A reference to a ULONG variable that receives the actual number of bytes read from the stream object.
Note??The number of bytes read may be zero.
+
+
This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.
The number of bytes actually read is also returned in the pcbRead parameter.
Notes to Callers
The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.
The application should handle both a returned error and return values on end-of-stream read operations.
The Write method writes a specified number of bytes into the stream object starting at the current seek reference.
+
+
A reference to the buffer that contains the data that is to be written to the stream. A valid reference must be provided for this parameter even when cb is zero.
+
The number of bytes of data to attempt to write into the stream. This value can be zero.
+
A reference to a ULONG variable where this method writes the actual number of bytes written to the stream object. The caller can set this reference to null, in which case this method does not provide the actual number of bytes written.
+
+
writes the specified data to a stream object. The seek reference is adjusted for the number of bytes actually written. The number of bytes actually written is returned in the pcbWritten parameter. If the byte count is zero bytes, the write operation has no effect.
If the seek reference is currently past the end of the stream and the byte count is nonzero, this method increases the size of the stream to the seek reference and writes the specified bytes starting at the seek reference. The fill bytes written to the stream are not initialized to any particular value. This is the same as the end-of-file behavior in the MS-DOS FAT file system.
With a zero byte count and a seek reference past the end of the stream, this method does not create the fill bytes to increase the stream to the seek reference. In this case, you must call the
+ method to increase the size of the stream and write the fill bytes.
The pcbWritten parameter can have a value even if an error occurs.
In the COM-provided implementation, stream objects are not sparse. Any fill bytes are eventually allocated on the disk and assigned to the stream.
The
+ interface lets you read and write data to stream objects. Stream objects contain the data in a structured storage object, where storages provide the structure. Simple data can be written directly to a stream but, most frequently, streams are elements nested within a storage object. They are similar to standard files.
The
+ interface defines methods similar to the MS-DOS FAT file functions. For example, each stream object has its own access rights and a seek reference. The main difference between a DOS file and a stream object is that in the latter case, streams are opened using an
+ interface reference rather than a file handle.
The methods in this interface present your object's data as a contiguous sequence of bytes that you can read or write. There are also methods for committing and reverting changes on streams that are open in transacted mode and methods for restricting access to a range of bytes in the stream.
Streams can remain open for long periods of time without consuming file-system resources. The IUnknown::Release method is similar to a close function on a file. Once released, the stream object is no longer valid and cannot be used.
Clients of asynchronous monikers can choose between a data-pull or data-push model for driving an asynchronous
+ IMoniker::BindToStorage operation and for receiving asynchronous notifications. See
+ URL Monikers for more information. The following table compares the behavior of asynchronous
+ and
+ calls returned in IBindStatusCallback::OnDataAvailable in these two download models:
+
+
+ aa380034
+ IStream
+ IStream
+
+
+
+ Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer.
+
+ The offset.
+ The origin.
+ The offset of the seek pointer from the beginning of the stream.
+
+
+
+ Changes the size of the stream object.
+
+ The new size.
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.
+
+ The stream destination.
+ The number of bytes to copy.
+ The number of bytes written.
+ The number of bytes read
+
+
+
+ Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
+
+ The GRF commit flags.
+
+
+
+ Discards all changes that have been made to a transacted stream since the last call.
+
+
+
+
+ Restricts access to a specified range of bytes in the stream.
+
+ The offset.
+ The number of bytes to lock.
+ Type of the dw lock.
+
+
+
+ Unlocks access to a specified range of bytes in the stream.
+
+ The offset.
+ The number of bytes to lock.
+ Type of the dw lock.
+
+
+
+ Gets the statistics.
+
+ The storage statistics flags.
+
+
+
+
+ Clones this instance.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The native pointer.
+
+
+
+ Performs an explicit conversion from to . (This method is a shortcut to )
+
+ The native pointer.
+
+ The result of the conversion.
+
+
+
+
+
The Seek method changes the seek reference to a new location. The new location is relative to either the beginning of the stream, the end of the stream, or the current seek reference.
+
+
The displacement to be added to the location indicated by the dwOrigin parameter. If dwOrigin is STREAM_SEEK_SET, this is interpreted as an unsigned value rather than a signed value.
+
The origin for the displacement specified in dlibMove. The origin can be the beginning of the file (STREAM_SEEK_SET), the current seek reference (STREAM_SEEK_CUR), or the end of the file (STREAM_SEEK_END). For more information about values, see the STREAM_SEEK enumeration.
+
A reference to the location where this method writes the value of the new seek reference from the beginning of the stream.
You can set this reference to null. In this case, this method does not provide the new seek reference.
+
+
changes the seek reference so that subsequent read and write operations can be performed at a different location in the stream object. It is an error to seek before the beginning of the stream. It is not, however, an error to seek past the end of the stream. Seeking past the end of the stream is useful for subsequent write operations, as the stream byte range will be extended to the new seek position immediately before the write is complete.
You can also use this method to obtain the current value of the seek reference by calling this method with the dwOrigin parameter set to STREAM_SEEK_CUR and the dlibMove parameter set to 0 so that the seek reference is not changed. The current seek reference is returned in the plibNewPosition parameter.
The SetSize method changes the size of the stream object.
+
+
Specifies the new size of the stream as a number of bytes.
+
This method can return one of the following values.
The size of the stream object was successfully changed.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The stream size is not changed because there is no space left on the storage device.
STG_E_INVALIDFUNCTION
The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the
+ method if the seek reference is past the current end of stream.
If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.
The seek reference is not affected by the change in stream size.
Calling can be an effective way to obtain a large chunk of contiguous space.
The CopyTo method copies a specified number of bytes from the current seek reference in the stream to the current seek reference in another stream.
+
+
A reference to the destination stream. The stream pointed to by pstm can be a new stream or a clone of the source stream.
+
The number of bytes to copy from the source stream.
+
A reference to the location where this method writes the actual number of bytes written to the destination. You can set this reference to null. In this case, this method does not provide the actual number of bytes written.
+
A reference to the location where this method writes the actual number of bytes read from the source. You can set this reference to null. In this case, this method does not provide the actual number of bytes read.
+
+
The CopyTo method copies the specified bytes from one stream to another. It can also be used to copy a stream to itself. The seek reference in each stream instance is adjusted for the number of bytes read or written. This method is equivalent to reading cb bytes into memory using
+ and then immediately writing them to the destination stream using
+ , although will be more efficient.
The destination stream can be a clone of the source stream created by calling the
+ method.
If returns an error, you cannot assume that the seek references are valid for either the source or destination. Additionally, the values of pcbRead and pcbWritten are not meaningful even though they are returned.
If returns successfully, the actual number of bytes read and written are the same.
To copy the remainder of the source from the current seek reference, specify the maximum large integer value for the cb parameter. If the seek reference is the beginning of the stream, this operation copies the entire stream.
The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
+
+
Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.
+
This method can return one of the following values.
Changes to the stream object were successfully committed to the parent level.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The commit operation failed due to lack of space on the storage device.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see
+ - Compound File Implementation.
If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.
The method is useful on a direct mode stream when the implementation of the
+ interface is a wrapper for underlying file system APIs. In this case, would be connected to the file system's flush call.
The Revert method discards all changes that have been made to a transacted stream since the last
+ call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.
+
+
This method can return one of the following values.
The stream was successfully reverted to its previous version.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
+
+
The Revert method discards changes made to a transacted stream since the last commit operation.
The LockRegion method restricts access to a specified range of bytes in the stream. Supporting this functionality is optional since some file systems do not provide it.
+
+
Integer that specifies the byte offset for the beginning of the range.
+
Integer that specifies the length of the range, in bytes, to be restricted.
+
Specifies the restrictions being requested on accessing the range.
+
This method can return one of the following values.
The specified range of bytes was locked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
Requested lock is supported, but cannot be granted because of an existing lock.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
+
The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.
Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the
+ enumeration.
Any region locked with must later be explicitly unlocked by calling
+ with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.
Notes to Callers
Since the type of locking supported is optional and can vary in different implementations of
+ , you must provide code to deal with the STG_E_INVALIDFUNCTION error.
The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.
Notes to Implementers
Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.
+
+
+ aa380039
+ HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+ IStream::LockRegion
+
+
+
+ No documentation.
+
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+
+ HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+ IStream::UnlockRegion
+
+
+
+
The Stat method retrieves the
+ structure for this stream.
+
+ No documentation.
+ No documentation.
+
+
retrieves a reference to the
+ structure that contains information about this open stream. When this stream is within a structured storage and
+ IStorage::EnumElements is called, it creates an enumerator object with the
+ IEnumSTATSTG interface on it, which can be called to enumerate the storages and streams through the
+ structures associated with each of them.
The Clone method creates a new stream object with its own seek reference that references the same bytes as the original stream.
+
+
When successful, reference to the location of an reference to the new stream object. If an error occurs, this parameter is null.
+
+
The Clone method creates a new stream object for accessing the same bytes but using a separate seek reference. The new stream object sees the same data as the source-stream object. Changes written to one object are immediately visible in the other. Range locking is shared between the stream objects.
The initial setting of the seek reference in the cloned stream instance is the same as the current setting of the seek reference in the original stream at the time of the clone operation.
+
+
+ aa380035
+ HRESULT IStream::Clone([Out] IStream** ppstm)
+ IStream::Clone
+
+
+
+ Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.
+
+ The stream destination.
+ The number of bytes to copy.
+ The bytes written.
+ The number of bytes read from this instance
+
+
+
+ Gets a com pointer to the underlying object.
+
+ The stream.
+ A Com pointer
+
+
+
+
The
+ structure contains statistical data about an open storage, stream, or byte-array object. This structure is used in the
+ IEnumSTATSTG,
+ ILockBytes,
+ IStorage, and
+ interfaces.
+
+
+ aa380319
+ STATSTG
+ STATSTG
+
+
+
+ No documentation.
+
+
+ aa380319
+ wchar_t* pwcsName
+ wchar_t pwcsName
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int type
+ unsigned int type
+
+
+
+ No documentation.
+
+
+ aa380319
+ ULARGE_INTEGER cbSize
+ ULARGE_INTEGER cbSize
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME mtime
+ FILETIME mtime
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME ctime
+ FILETIME ctime
+
+
+
+ No documentation.
+
+
+ aa380319
+ FILETIME atime
+ FILETIME atime
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfMode
+ unsigned int grfMode
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfLocksSupported
+ unsigned int grfLocksSupported
+
+
+
+ No documentation.
+
+
+ aa380319
+ GUID clsid
+ GUID clsid
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int grfStateBits
+ unsigned int grfStateBits
+
+
+
+ No documentation.
+
+
+ aa380319
+ unsigned int reserved
+ unsigned int reserved
+
+
+
+ A half precision (16 bit) floating point value.
+
+
+
+
+ Number of decimal digits of precision.
+
+
+
+
+ Number of bits in the mantissa.
+
+
+
+
+ Maximum decimal exponent.
+
+
+
+
+ Maximum binary exponent.
+
+
+
+
+ Minimum decimal exponent.
+
+
+
+
+ Minimum binary exponent.
+
+
+
+
+ Exponent radix.
+
+
+
+
+ Additional rounding.
+
+
+
+
+ Smallest such that 1.0 + epsilon != 1.0
+
+
+
+
+ Maximum value of the number.
+
+
+
+
+ Minimum value of the number.
+
+
+
+
+ Initializes a new instance of the structure.
+
+ The floating point value that should be stored in 16 bit format.
+
+
+
+ Initializes a new instance of the structure.
+
+ The floating point value that should be stored in 16 bit format.
+
+
+
+ Converts an array of half precision values into full precision values.
+
+ The values to be converted.
+ An array of converted values.
+
+
+
+ Converts an array of full precision values into half precision values.
+
+ The values to be converted.
+ An array of converted values.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value to be converted.
+ The converted value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to be converted.
+ The converted value.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Converts the value of the object to its equivalent string representation.
+
+ The string representation of the value of this instance.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Gets or sets the raw 16 bit value used to back this half-float.
+
+
+
+
+ Defines a two component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for both the X and Y components.
+
+
+
+ Initializes a new instance of the structure.
+
+ Value to initialize X and Y components with.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Defines a three component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Gets or sets the Z component of the vector.
+
+ The Z component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for the X, Y, and Z components.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Defines a four component vector, using half precision floating point coordinates.
+
+
+
+
+ Gets or sets the X component of the vector.
+
+ The X component of the vector.
+
+
+
+ Gets or sets the Y component of the vector.
+
+ The Y component of the vector.
+
+
+
+ Gets or sets the Z component of the vector.
+
+ The Z component of the vector.
+
+
+
+ Gets or sets the W component of the vector.
+
+ The W component of the vector.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The X component.
+ The Y component.
+ The Z component.
+ The W component.
+
+
+
+ Initializes a new instance of the structure.
+
+ The value to set for the X, Y, Z, and W components.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer hash code.
+
+
+
+
+
+
+ Determines whether the specified object instances are considered equal.
+
+
+
+
+ true if is the same instance as or
+ if both are null references or if value1.Equals(value2) returns true; otherwise, false.
+
+
+
+ Returns a value that indicates whether the current instance is equal to the specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Returns a value that indicates whether the current instance is equal to a specified object.
+
+ Object to make the comparison with.
+
+ true if the current instance is equal to the specified object; false otherwise.
+
+
+
+ Helper class to perform Half/Float conversion.
+ Code extract from paper : www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf by Jeroen van der Zijp
+
+
+
+
+ Unpacks the specified h.
+
+ The h.
+
+
+
+
+ Packs the specified f.
+
+ The f.
+
+
+
+
+ Represents a four dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0, 0).
+
+
+
+
+ The Z unit (0, 0, 1, 0).
+
+
+
+
+ The W unit (0, 0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ When the method completes, contains the modulated vector.
+
+
+
+ Modulates a vector with another by performing component-wise multiplication.
+
+ The first vector to modulate.
+ The second vector to modulate.
+ The modulated vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Performs an implicit conversion from array to .
+
+ The input.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to array.
+
+ The input.
+ The result of the conversion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ The implementation of this class is filled by InteropBuilder post-building-event.
+
+
+
+
+ Provides a fixed statement working with generics.
+
+
+ The data.
+ A fixed pointer to the referenced structure
+
+ This is the only function in this class that is inlined in order to inline the fixed statement correctly.
+
+
+
+
+ The value for which all absolute numbers smaller than are considered equal to zero.
+
+
+
+
+ A value specifying the approximation of π which is 180 degrees.
+
+
+
+
+ A value specifying the approximation of 2Ï€ which is 360 degrees.
+
+
+
+
+ A value specifying the approximation of π/2 which is 90 degrees.
+
+
+
+
+ A value specifying the approximation of π/4 which is 45 degrees.
+
+
+
+
+ Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike method). See Remarks.
+ See remarks.
+
+ The left value to compare.
+ The right value to compare.
+ true if a almost equal to b, false otherwise
+
+ The code is using the technique described by Bruce Dawson in
+ Comparing Floating point numbers 2012 edition.
+
+
+
+
+ Determines whether the specified value is close to zero (0.0f).
+
+ The floating value.
+ true if the specified value is close to zero (0.0f); otherwise, false.
+
+
+
+ Determines whether the specified value is close to one (1.0f).
+
+ The floating value.
+ true if the specified value is close to one (1.0f); otherwise, false.
+
+
+
+ Checks if a - b are almost equals within a float epsilon.
+
+ The left value to compare.
+ The right value to compare.
+ Epsilon value
+ true if a almost equal to b within a float epsilon, false otherwise
+
+
+
+ Converts revolutions to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts revolutions to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts revolutions to gradians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts degrees to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts degrees to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to gradians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to revolutions.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts gradians to radians.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Converts radians to degrees.
+
+ The value to convert.
+ The converted value.
+
+
+
+ Clamps the specified value.
+
+ The value.
+ The min.
+ The max.
+ The result of clamping a value between min and max
+
+
+
+ Clamps the specified value.
+
+ The value.
+ The min.
+ The max.
+ The result of clamping a value between min and max
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Interpolates between two values using a linear function by a given amount.
+
+
+ See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
+ http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
+
+ Value to interpolate from.
+ Value to interpolate to.
+ Interpolation amount.
+ The result of linear interpolation of values based on the amount.
+
+
+
+ Performs smooth (cubic Hermite) interpolation between 0 and 1.
+
+
+ See https://en.wikipedia.org/wiki/Smoothstep
+
+ Value between 0 and 1 indicating interpolation amount.
+
+
+
+ Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
+
+
+ See https://en.wikipedia.org/wiki/Smoothstep
+
+ Value between 0 and 1 indicating interpolation amount.
+
+
+
+ Calculates the modulo of the specified value.
+
+ The value.
+ The modulo.
+ The result of the modulo applied to value
+
+
+
+ Calculates the modulo 2*PI of the specified value.
+
+ The value.
+ The result of the modulo applied to value
+
+
+
+ Wraps the specified value into a range [min, max]
+
+ The value to wrap.
+ The min.
+ The max.
+ Result of the wrapping.
+ Is thrown when is greater than .
+
+
+
+ Wraps the specified value into a range [min, max[
+
+ The value.
+ The min.
+ The max.
+ Result of the wrapping.
+ Is thrown when is greater than .
+
+
+
+ Gauss function.
+
+ Curve amplitude.
+ Position X.
+ Position Y
+ Radius X.
+ Radius Y.
+ Curve sigma X.
+ Curve sigma Y.
+ The result of Gaussian function.
+
+
+
+ Gauss function.
+
+ Curve amplitude.
+ Position X.
+ Position Y
+ Radius X.
+ Radius Y.
+ Curve sigma X.
+ Curve sigma Y.
+ The result of Gaussian function.
+
+
+
+ Represents a 4x4 mathematical matrix.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The identity .
+
+
+
+
+ Value at row 1 column 1 of the matrix.
+
+
+
+
+ Value at row 1 column 2 of the matrix.
+
+
+
+
+ Value at row 1 column 3 of the matrix.
+
+
+
+
+ Value at row 1 column 4 of the matrix.
+
+
+
+
+ Value at row 2 column 1 of the matrix.
+
+
+
+
+ Value at row 2 column 2 of the matrix.
+
+
+
+
+ Value at row 2 column 3 of the matrix.
+
+
+
+
+ Value at row 2 column 4 of the matrix.
+
+
+
+
+ Value at row 3 column 1 of the matrix.
+
+
+
+
+ Value at row 3 column 2 of the matrix.
+
+
+
+
+ Value at row 3 column 3 of the matrix.
+
+
+
+
+ Value at row 3 column 4 of the matrix.
+
+
+
+
+ Value at row 4 column 1 of the matrix.
+
+
+
+
+ Value at row 4 column 2 of the matrix.
+
+
+
+
+ Value at row 4 column 3 of the matrix.
+
+
+
+
+ Value at row 4 column 4 of the matrix.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The value to assign at row 1 column 1 of the matrix.
+ The value to assign at row 1 column 2 of the matrix.
+ The value to assign at row 1 column 3 of the matrix.
+ The value to assign at row 1 column 4 of the matrix.
+ The value to assign at row 2 column 1 of the matrix.
+ The value to assign at row 2 column 2 of the matrix.
+ The value to assign at row 2 column 3 of the matrix.
+ The value to assign at row 2 column 4 of the matrix.
+ The value to assign at row 3 column 1 of the matrix.
+ The value to assign at row 3 column 2 of the matrix.
+ The value to assign at row 3 column 3 of the matrix.
+ The value to assign at row 3 column 4 of the matrix.
+ The value to assign at row 4 column 1 of the matrix.
+ The value to assign at row 4 column 2 of the matrix.
+ The value to assign at row 4 column 3 of the matrix.
+ The value to assign at row 4 column 4 of the matrix.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the components of the matrix. This must be an array with sixteen elements.
+ Thrown when is null.
+ Thrown when contains more or less than sixteen elements.
+
+
+
+ Calculates the determinant of the matrix.
+
+ The determinant of the matrix.
+
+
+
+ Inverts the matrix.
+
+
+
+
+ Transposes the matrix.
+
+
+
+
+ Orthogonalizes the specified matrix.
+
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R.
+
+ When the method completes, contains the orthonormalized matrix of the decomposition.
+ When the method completes, contains the right triangular matrix of the decomposition.
+
+
+
+ Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
+
+ When the method completes, contains the lower triangular matrix of the decomposition.
+ When the method completes, contains the orthonormalized matrix of the decomposition.
+
+
+
+ Decomposes a matrix into a scale, rotation, and translation.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+ When the method completes, contains the translation component of the decomposed matrix.
+
+ This method is designed to decompose an SRT transformation matrix only.
+
+
+
+
+ Decomposes a uniform scale matrix into a scale, rotation, and translation.
+ A uniform scale matrix has the same scale in every axis.
+
+ When the method completes, contains the scaling component of the decomposed matrix.
+ When the method completes, contains the rotation component of the decomposed matrix.
+ When the method completes, contains the translation component of the decomposed matrix.
+
+ This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
+
+
+
+
+ Exchanges two rows in the matrix.
+
+ The first row to exchange. This is an index of the row starting at zero.
+ The second row to exchange. This is an index of the row starting at zero.
+
+
+
+ Exchanges two columns in the matrix.
+
+ The first column to exchange. This is an index of the column starting at zero.
+ The second column to exchange. This is an index of the column starting at zero.
+
+
+
+ Creates an array containing the elements of the matrix.
+
+ A sixteen-element array containing the components of the matrix.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ When the method completes, contains the sum of the two matrices.
+
+
+
+ Determines the sum of two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ When the method completes, contains the difference between the two matrices.
+
+
+
+ Determines the difference between two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Determines the product of two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ When the method completes, contains the scaled matrix.
+
+
+
+ Scales a matrix by the given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ When the method completes, contains the quotient of the two matrices.
+
+
+
+ Determines the quotient of two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Performs the exponential operation on a matrix.
+
+ The matrix to perform the operation on.
+ The exponent to raise the matrix to.
+ When the method completes, contains the exponential matrix.
+ Thrown when the is negative.
+
+
+
+ Performs the exponential operation on a matrix.
+
+ The matrix to perform the operation on.
+ The exponent to raise the matrix to.
+ The exponential matrix.
+ Thrown when the is negative.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ When the method completes, contains the negated matrix.
+
+
+
+ Negates a matrix.
+
+ The matrix to be negated.
+ The negated matrix.
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two matrices.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two matrices.
+
+
+
+ Performs a cubic interpolation between two matrices.
+
+ Start matrix.
+ End matrix.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two matrices.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified matrix.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ When the method completes, contains the transpose of the specified matrix.
+
+
+
+ Calculates the transpose of the specified matrix.
+
+ The matrix whose transpose is to be calculated.
+ The transpose of the specified matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ When the method completes, contains the inverse of the specified matrix.
+
+
+
+ Calculates the inverse of the specified matrix.
+
+ The matrix whose inverse is to be calculated.
+ The inverse of the specified matrix.
+
+
+
+ Orthogonalizes the specified matrix.
+
+ The matrix to orthogonalize.
+ When the method completes, contains the orthogonalized matrix.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthogonalizes the specified matrix.
+
+ The matrix to orthogonalize.
+ The orthogonalized matrix.
+
+ Orthogonalization is the process of making all rows orthogonal to each other. This
+ means that any given row in the matrix will be orthogonal to any other given row in the
+ matrix.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+ The matrix to orthonormalize.
+ When the method completes, contains the orthonormalized matrix.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Orthonormalizes the specified matrix.
+
+ The matrix to orthonormalize.
+ The orthonormalized matrix.
+
+ Orthonormalization is the process of making all rows and columns orthogonal to each
+ other and making all rows and columns of unit length. This means that any given row will
+ be orthogonal to any other given row and any given column will be orthogonal to any other
+ given column. Any given row will not be orthogonal to any given column. Every row and every
+ column will be of unit length.
+ Because this method uses the modified Gram-Schmidt process, the resulting matrix
+ tends to be numerically unstable. The numeric stability decreases according to the rows
+ so that the first row is the most stable and the last row is the least stable.
+ This operation is performed on the rows of the matrix rather than the columns.
+ If you wish for this operation to be performed on the columns, first transpose the
+ input and than transpose the output.
+
+
+
+
+ Brings the matrix into upper triangular form using elementary row operations.
+
+ The matrix to put into upper triangular form.
+ When the method completes, contains the upper triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into upper triangular form using elementary row operations.
+
+ The matrix to put into upper triangular form.
+ The upper triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into lower triangular form using elementary row operations.
+
+ The matrix to put into lower triangular form.
+ When the method completes, contains the lower triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into lower triangular form using elementary row operations.
+
+ The matrix to put into lower triangular form.
+ The lower triangular matrix.
+
+ If the matrix is not invertible (i.e. its determinant is zero) than the result of this
+ method may produce Single.Nan and Single.Inf values. When the matrix represents a system
+ of linear equations, than this often means that either no solution exists or an infinite
+ number of solutions exist.
+
+
+
+
+ Brings the matrix into row echelon form using elementary row operations;
+
+ The matrix to put into row echelon form.
+ When the method completes, contains the row echelon form of the matrix.
+
+
+
+ Brings the matrix into row echelon form using elementary row operations;
+
+ The matrix to put into row echelon form.
+ When the method completes, contains the row echelon form of the matrix.
+
+
+
+ Brings the matrix into reduced row echelon form using elementary row operations.
+
+ The matrix to put into reduced row echelon form.
+ The fifth column of the matrix.
+ When the method completes, contains the resultant matrix after the operation.
+ When the method completes, contains the resultant fifth column of the matrix.
+
+ The fifth column is often called the augmented part of the matrix. This is because the fifth
+ column is really just an extension of the matrix so that there is a place to put all of the
+ non-zero components after the operation is complete.
+ Often times the resultant matrix will the identity matrix or a matrix similar to the identity
+ matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.
+ This method can be used to solve systems of linear equations. Upon completion of this method,
+ the will contain the solution for the system. It is up to the user
+ to analyze both the input and the result to determine if a solution really exists.
+
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard matrix.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard matrix.
+
+
+
+ Creates a right-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard matrix.
+
+
+
+ Creates a right-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard matrix.
+
+
+
+ Creates a left-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at matrix.
+
+
+
+ Creates a left-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at matrix.
+
+
+
+ Creates a right-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ When the method completes, contains the created look-at matrix.
+
+
+
+ Creates a right-handed, look-at matrix.
+
+ The position of the viewer's eye.
+ The camera look-at target.
+ The camera's up vector.
+ The created look-at matrix.
+
+
+
+ Creates a left-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, orthographic projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, customized orthographic projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix.
+
+ Width of the viewing volume.
+ Height of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, perspective projection matrix based on a field of view.
+
+ Field of view in the y direction, in radians.
+ Aspect ratio, defined as view space width divided by height.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a left-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a left-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Creates a right-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ When the method completes, contains the created projection matrix.
+
+
+
+ Creates a right-handed, customized perspective projection matrix.
+
+ Minimum x-value of the viewing volume.
+ Maximum x-value of the viewing volume.
+ Minimum y-value of the viewing volume.
+ Maximum y-value of the viewing volume.
+ Minimum z-value of the viewing volume.
+ Maximum z-value of the viewing volume.
+ The created projection matrix.
+
+
+
+ Builds a matrix that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ When the method completes, contains the reflection matrix.
+
+
+
+ Builds a matrix that can be used to reflect vectors about a plane.
+
+ The plane for which the reflection occurs. This parameter is assumed to be normalized.
+ The reflection matrix.
+
+
+
+ Creates a matrix that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ When the method completes, contains the shadow matrix.
+
+
+
+ Creates a matrix that flattens geometry into a shadow.
+
+ The light direction. If the W component is 0, the light is directional light; if the
+ W component is 1, the light is a point light.
+ The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.
+ The shadow matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor for all three axes.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that scales along the x-axis, y-axis, and y-axis.
+
+ Scaling factor that is applied along the x-axis.
+ Scaling factor that is applied along the y-axis.
+ Scaling factor that is applied along the z-axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ When the method completes, contains the created scaling matrix.
+
+
+
+ Creates a matrix that uniformly scales along all three axis.
+
+ The uniform scale that is applied along all axis.
+ The created scaling matrix.
+
+
+
+ Creates a matrix that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the x-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the y-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around the z-axis.
+
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a matrix that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a matrix that rotates around an arbitrary axis.
+
+ The axis around which to rotate. This parameter is assumed to be normalized.
+ Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix from a quaternion.
+
+ The quaternion to use to build the matrix.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix from a quaternion.
+
+ The quaternion to use to build the matrix.
+ The created rotation matrix.
+
+
+
+ Creates a rotation matrix with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ When the method completes, contains the created rotation matrix.
+
+
+
+ Creates a rotation matrix with a specified yaw, pitch, and roll.
+
+ Yaw around the y-axis, in radians.
+ Pitch around the x-axis, in radians.
+ Roll around the z-axis, in radians.
+ The created rotation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for all three coordinate planes.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ The offset for all three coordinate planes.
+ The created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ When the method completes, contains the created translation matrix.
+
+
+
+ Creates a translation matrix using the specified offsets.
+
+ X-coordinate offset.
+ Y-coordinate offset.
+ Z-coordinate offset.
+ The created translation matrix.
+
+
+
+ Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle.
+ shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane.
+ The effect is such that the skewed rotation vector has the specified angle with rotation itself.
+
+ The rotation angle.
+ The rotation vector
+ The translation vector
+ Contains the created skew/shear matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 3D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created affine transformation matrix.
+
+
+
+ Creates a 2D affine transformation matrix.
+
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created affine transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created transformation matrix.
+
+
+
+ Creates a 2D transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ When the method completes, contains the created transformation matrix.
+
+
+
+ Creates a 2D transformation matrix.
+
+ Center point of the scaling operation.
+ Scaling rotation amount.
+ Scaling factor.
+ The center of the rotation.
+ The rotation of the transformation.
+ The translation factor of the transformation.
+ The created transformation matrix.
+
+
+
+ Adds two matrices.
+
+ The first matrix to add.
+ The second matrix to add.
+ The sum of the two matrices.
+
+
+
+ Assert a matrix (return it unchanged).
+
+ The matrix to assert (unchanged).
+ The asserted (unchanged) matrix.
+
+
+
+ Subtracts two matrices.
+
+ The first matrix to subtract.
+ The second matrix to subtract.
+ The difference between the two matrices.
+
+
+
+ Negates a matrix.
+
+ The matrix to negate.
+ The negated matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Multiplies two matrices.
+
+ The first matrix to multiply.
+ The second matrix to multiply.
+ The product of the two matrices.
+
+
+
+ Scales a matrix by a given value.
+
+ The matrix to scale.
+ The amount by which to scale.
+ The scaled matrix.
+
+
+
+ Divides two matrices.
+
+ The first matrix to divide.
+ The second matrix to divide.
+ The quotient of the two matrices.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets or sets the up of the matrix; that is M21, M22, and M23.
+
+
+
+
+ Gets or sets the down of the matrix; that is -M21, -M22, and -M23.
+
+
+
+
+ Gets or sets the right of the matrix; that is M11, M12, and M13.
+
+
+
+
+ Gets or sets the left of the matrix; that is -M11, -M12, and -M13.
+
+
+
+
+ Gets or sets the forward of the matrix; that is -M31, -M32, and -M33.
+
+
+
+
+ Gets or sets the backward of the matrix; that is M31, M32, and M33.
+
+
+
+
+ Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
+
+
+
+
+ Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
+
+
+
+
+ Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
+
+
+
+
+ Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
+
+
+
+
+ Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
+
+
+
+
+ Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
+
+
+
+
+ Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
+
+
+
+
+ Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
+
+
+
+
+ Gets or sets the translation of the matrix; that is M41, M42, and M43.
+
+
+
+
+ Gets or sets the scale of the matrix; that is M11, M22, and M33.
+
+
+
+
+ Gets a value indicating whether this instance is an identity matrix.
+
+
+ true if this instance is an identity matrix; otherwise, false.
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The zero-based index of the component to access.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 15].
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the matrix component, depending on the index.
+ The row of the matrix to access.
+ The column of the matrix to access.
+ The value of the component at the specified index.
+ Thrown when the or is out of the range [0, 3].
+
+
+
+ Generic sound input stream supporting WAV (Pcm,Float), ADPCM, xWMA sound file formats.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The sound stream.
+
+
+
+ Initializes the specified stream.
+
+ The stream.
+
+
+
+ Converts this stream to a DataStream by loading all the data from the source stream.
+
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The stream.
+
+ The result of the conversion.
+
+
+
+
+ When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
+
+
+ An I/O error occurs.
+
+
+
+
+ When overridden in a derived class, sets the position within the current stream.
+
+ A byte offset relative to the parameter.
+ A value of type indicating the reference point used to obtain the new position.
+
+ The new position within the current stream.
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support seeking, such as if the stream is constructed from a pipe or console output.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, sets the length of the current stream.
+
+ The desired length of the current stream in bytes.
+
+ An I/O error occurs.
+
+
+
+ The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
+
+ An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source.
+ The zero-based byte offset in at which to begin storing the data read from the current stream.
+ The maximum number of bytes to be read from the current stream.
+
+ The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
+
+
+ The sum of and is larger than the buffer length.
+
+
+
+ is null.
+
+
+
+ or is negative.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support reading.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
+
+ An array of bytes. This method copies bytes from to the current stream.
+ The zero-based byte offset in at which to begin copying bytes to the current stream.
+ The number of bytes to be written to the current stream.
+
+ The sum of and is greater than the buffer length.
+
+
+
+ is null.
+
+
+
+ or is negative.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support writing.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ Gets the decoded packets info.
+
+
+ This property is only valid for XWMA stream.
+
+
+
+ Gets the wave format of this instance.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports reading.
+
+ true if the stream supports reading; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
+
+ true if the stream supports seeking; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether the current stream supports writing.
+
+ true if the stream supports writing; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets or sets the position within the current stream.
+
+
+ The current position within the stream.
+
+
+
+ An I/O error occurs.
+
+
+
+ The stream does not support seeking.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ When overridden in a derived class, gets the length in bytes of the stream.
+
+
+ A long value representing the length of the stream in bytes.
+
+
+
+ A class derived from Stream does not support seeking.
+
+
+
+ Methods were called after the stream was closed.
+
+
+
+
+ WaveFormatAdpcm
+ http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.xaudio2.adpcmwaveformat%28v=vs.85%29.aspx
+ Additional documentation: http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm
+
+ WAVEFORMATADPCM
+
+
+
+ Represents a Wave file format
+
+ WAVEFORMATEX
+
+
+ format type
+
+
+ number of channels
+
+
+ sample rate
+
+
+ for buffer estimation
+
+
+ block size of data
+
+
+ number of bits per sample of mono data
+
+
+ number of following bytes
+
+
+
+ Creates a new PCM 44.1Khz stereo 16 bit format
+
+
+
+
+ Creates a new 16 bit wave format with the specified sample
+ rate and channel count
+
+ Sample Rate
+ Number of channels
+
+
+
+ Gets the size of a wave buffer equivalent to the latency in milliseconds.
+
+ The milliseconds.
+
+
+
+
+ Creates a WaveFormat with custom members
+
+ The encoding
+ Sample Rate
+ Number of channels
+ Average Bytes Per Second
+ Block Align
+ Bits Per Sample
+
+
+
+
+ Creates an A-law wave format
+
+ Sample Rate
+ Number of Channels
+ Wave Format
+
+
+
+ Creates a Mu-law wave format
+
+ Sample Rate
+ Number of Channels
+ Wave Format
+
+
+
+ Creates a new PCM format with the specified sample rate, bit depth and channels
+
+
+
+
+ Creates a new 32 bit IEEE floating point wave format
+
+ sample rate
+ number of channels
+
+
+
+ Helper function to retrieve a WaveFormat structure from a pointer
+
+ Buffer to the WaveFormat rawdata
+ WaveFormat structure
+
+
+
+ Helper function to retrieve a WaveFormat structure from a pointer
+
+ Pointer to the WaveFormat rawdata
+ WaveFormat structure
+
+
+
+ Helper function to marshal WaveFormat to an IntPtr
+
+ WaveFormat
+ IntPtr to WaveFormat structure (needs to be freed by callee)
+
+
+
+ Reads a new WaveFormat object from a stream
+
+ A binary reader that wraps the stream
+
+
+
+ Reports this WaveFormat as a string
+
+ String describing the wave format
+
+
+
+ Compares with another WaveFormat object
+
+ Object to compare to
+ True if the objects are the same
+
+
+
+ Provides a hash code for this WaveFormat
+
+ A hash code
+
+
+
+ Reads or writes data from/to the given binary serializer.
+
+ The binary serializer.
+
+
+
+ Returns the encoding type used
+
+
+
+
+ Returns the number of channels (1=mono,2=stereo etc)
+
+
+
+
+ Returns the sample rate (samples per second)
+
+
+
+
+ Returns the average number of bytes used per second
+
+
+
+
+ Returns the block alignment
+
+
+
+
+ Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8)
+ Can be 0 for some codecs
+
+
+
+
+ Returns the number of extra bytes used by this waveformat. Often 0,
+ except for compressed formats which store extra data after the WAVEFORMATEX header
+
+
+
+ number of following bytes
+
+
+ format type
+
+
+ number of channels
+
+
+ sample rate
+
+
+ for buffer estimation
+
+
+ block size of data
+
+
+ number of bits per sample of mono data
+
+
+
+ Parameterless constructor for marshalling
+
+
+
+
+ Creates a new WaveFormatAdpcm for MicrosoftADPCM
+
+ The rate.
+ The channels.
+ The block align. If 0, then 256 for [0, 11KHz], 512 for ]11KHz, 22Khz], 1024 for ]22Khz, +inf]
+
+
+
+ Gets or sets the samples per block.
+
+
+ The samples per block.
+
+
+
+
+ Gets or sets the coefficients.
+
+
+ The coefficients.
+
+
+
+
+ Gets or sets the coefficients.
+
+
+ The coefficients.
+
+
+
+
+ A FourCC descriptor.
+
+
+
+
+ Empty FourCC.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as a string .
+
+
+
+ Initializes a new instance of the struct.
+
+ The byte1.
+ The byte2.
+ The byte3.
+ The byte4.
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as an uint.
+
+
+
+ Initializes a new instance of the struct.
+
+ The fourCC value as an int.
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The d.
+
+ The result of the conversion.
+
+
+
+
+ A chunk of a Riff stream.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The stream holding this chunk
+ The type.
+ The size.
+ The data offset.
+ if set to true [is list].
+ if set to true [is header].
+
+
+
+ Gets the raw data contained in this chunk.
+
+
+
+
+
+ Gets structured data contained in this chunk.
+
+ The type of the data to return
+
+ A structure filled with the chunk data
+
+
+
+
+ Gets structured data contained in this chunk.
+
+ The type of the data to return
+ A structure filled with the chunk data
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets the type.
+
+
+
+
+ Gets the of this chunk.
+
+
+
+
+ Gets the size of the data embedded by this chunk.
+
+
+
+
+ Gets the position of the data embedded by this chunk relative to the stream.
+
+
+
+
+ Gets or sets a value indicating whether this instance is a list chunk.
+
+
+ true if this instance is list; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a header chunk.
+
+
+ true if this instance is a header; otherwise, false.
+
+
+
+
+ Riff chunk enumerator.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The input.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Advances the enumerator to the next element of the collection.
+
+
+ true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Ascends to the outer chunk.
+
+
+
+
+ Descends to the current chunk.
+
+
+
+
+ Gets all chunks.
+
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Gets the current stack of chunks.
+
+
+
+
+ Gets the element in the collection at the current position of the enumerator.
+
+
+ The element in the collection at the current position of the enumerator.
+
+
+
+
+ Helper class for Speaker mask.
+
+
+
+
+ Counts the channels from a speaker mask.
+
+ The speakers mask.
+
+
+
+
+ WaveFormatExtensible
+ http://www.microsoft.com/whdc/device/audio/multichaud.mspx
+
+ WAVEFORMATEXTENSIBLE
+
+
+
+ Guid of the subformat.
+
+
+
+
+ Speaker configuration
+
+
+
+
+ Parameterless constructor for marshalling
+
+
+
+
+ Creates a new WaveFormatExtensible for PCM or IEEE
+
+
+
+
+ String representation
+
+
+
+
+ The namespace contains fundamental classes used by SharpDX.
+
+
+
+
+ A general purpose tag attribute.
+
+
+
+
+ Initializes a new instance of class.
+
+
+
+
+
+ Gets the value.
+
+
+
+
+ Overrides in order to provide for Win8 Modern App.
+
+
+
+
+
+ Provides a basic implementation to replace (not available on Win8 Modern App).
+
+
+
+
+ The namespace provides missing ASCIIEncoding for Win8 Modern platform.
+
+
+
+
+ This provides timing information similar to but an update occurring only on a method.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resets this instance. is set to zero.
+
+
+
+
+ Resumes this instance, only if a call to has been already issued.
+
+
+
+
+ Update the and ,
+
+
+ This method must be called on a regular basis at every *tick*.
+
+
+
+
+ Pauses this instance.
+
+
+
+
+ Converts a raw time to a .
+
+ The delta.
+ The .
+
+
+
+ Gets the total time elapsed since the last reset or when this timer was created.
+
+
+
+
+ Gets the elapsed adjusted time since the previous call to taking into account time.
+
+
+
+
+ Gets the elapsed time since the previous call to .
+
+
+
+
+ Gets a value indicating whether this instance is paused.
+
+ true if this instance is paused; otherwise, false.
+
+
+
+ Defines the viewport dimensions.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Position of the pixel coordinate of the upper-left corner of the viewport.
+
+
+
+
+ Width dimension of the viewport.
+
+
+
+
+ Height dimension of the viewport.
+
+
+
+
+ Gets or sets the minimum depth of the clip volume.
+
+
+
+
+ Gets or sets the maximum depth of the clip volume.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+
+
+
+ Initializes a new instance of the struct.
+
+ The x coordinate of the upper-left corner of the viewport in pixels.
+ The y coordinate of the upper-left corner of the viewport in pixels.
+ The width of the viewport in pixels.
+ The height of the viewport in pixels.
+ The minimum depth of the clip volume.
+ The maximum depth of the clip volume.
+
+
+
+ Initializes a new instance of the struct.
+
+ A bounding box that defines the location and size of the viewport in a render target.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified object is equal to this instance.
+
+ The object to compare with this instance.
+
+ true if the specified object is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Retrieves a string representation of this object.
+
+ A that represents this instance.
+
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ A combined WorldViewProjection matrix.
+ The projected vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ The projection matrix.
+ The view matrix.
+ The world matrix.
+ The unprojected Vector.
+
+
+
+ Converts a screen space point into a corresponding point in world space.
+
+ The vector to project.
+ An inverted combined WorldViewProjection matrix.
+ The unprojected vector.
+
+
+
+ Gets the size of this resource.
+
+ The bounds.
+
+
+
+ Gets the aspect ratio used by the viewport.
+
+ The aspect ratio.
+
+
+
+ Internal class to interact with Native Message
+
+
+
+
+ Represents a plane in three dimensional space.
+
+
+
+
+ The normal vector of the plane.
+
+
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+
+ Initializes a new instance of the class.
+
+ Any point that lies along the plane.
+ The normal vector to the plane.
+
+
+
+ Initializes a new instance of the struct.
+
+ The normal of the plane.
+ The distance of the plane along its normal from the origin
+
+
+
+ Initializes a new instance of the struct.
+
+ First point of a triangle defining the plane.
+ Second point of a triangle defining the plane.
+ Third point of a triangle defining the plane.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the A, B, C, and D components of the plane. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+
+
+
+ Creates an array containing the elements of the plane.
+
+ A four-element array containing the components of the plane.
+
+
+
+ Determines if there is an intersection between the current object and a point.
+
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the line of intersection
+ as a , or a zero ray if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Scales the plane by the given scaling factor.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ When the method completes, contains the scaled plane.
+
+
+
+ Scales the plane by the given scaling factor.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ The scaled plane.
+
+
+
+ Calculates the dot product of the specified vector and plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of the specified plane and vector.
+
+
+
+ Calculates the dot product of the specified vector and plane.
+
+ The source plane.
+ The source vector.
+ The dot product of the specified plane and vector.
+
+
+
+ Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of a specified vector and the normal of the Plane plus the distance value of the plane.
+
+
+
+ Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
+
+ The source plane.
+ The source vector.
+ The dot product of a specified vector and the normal of the Plane plus the distance value of the plane.
+
+
+
+ Calculates the dot product of the specified vector and the normal of the plane.
+
+ The source plane.
+ The source vector.
+ When the method completes, contains the dot product of the specified vector and the normal of the plane.
+
+
+
+ Calculates the dot product of the specified vector and the normal of the plane.
+
+ The source plane.
+ The source vector.
+ The dot product of the specified vector and the normal of the plane.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+ The source plane.
+ When the method completes, contains the normalized plane.
+
+
+
+ Changes the coefficients of the normal vector of the plane to make it of unit length.
+
+ The source plane.
+ The normalized plane.
+
+
+
+ Transforms a normalized plane by a quaternion rotation.
+
+ The normalized source plane.
+ The quaternion rotation.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms a normalized plane by a quaternion rotation.
+
+ The normalized source plane.
+ The quaternion rotation.
+ The transformed plane.
+
+
+
+ Transforms an array of normalized planes by a quaternion rotation.
+
+ The array of normalized planes to transform.
+ The quaternion rotation.
+ Thrown when is null.
+
+
+
+ Transforms a normalized plane by a matrix.
+
+ The normalized source plane.
+ The transformation matrix.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms a normalized plane by a matrix.
+
+ The normalized source plane.
+ The transformation matrix.
+ When the method completes, contains the transformed plane.
+
+
+
+ Transforms an array of normalized planes by a matrix.
+
+ The array of normalized planes to transform.
+ The transformation matrix.
+ Thrown when is null.
+
+
+
+ Scales a plane by the given value.
+
+ The amount by which to scale the plane.
+ The plane to scale.
+ The scaled plane.
+
+
+
+ Scales a plane by the given value.
+
+ The plane to scale.
+ The amount by which to scale the plane.
+ The scaled plane.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the A, B, C, or D component, depending on the index.
+ The index of the component to access. Use 0 for the A component, 1 for the B component, 2 for the C component, and 3 for the D component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a four dimensional mathematical quaternion.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The identity (0, 0, 0, 1).
+
+
+
+
+ The X component of the quaternion.
+
+
+
+
+ The Y component of the quaternion.
+
+
+
+
+ The Z component of the quaternion.
+
+
+
+
+ The W component of the quaternion.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the components.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X, Y, and Z components.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the quaternion.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the quaternion.
+ Initial value for the Y component of the quaternion.
+ Initial value for the Z component of the quaternion.
+ Initial value for the W component of the quaternion.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Conjugates the quaternion.
+
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+
+
+
+ Calculates the length of the quaternion.
+
+ The length of the quaternion.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the quaternion.
+
+ The squared length of the quaternion.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+
+
+
+ Creates an array containing the elements of the quaternion.
+
+ A four-element array containing the components of the quaternion.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ When the method completes, contains the sum of the two quaternions.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ The sum of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ When the method completes, contains the difference of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ The difference of the two quaternions.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ When the method completes, contains the scaled quaternion.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ When the method completes, contains the multiplied quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ The multiplied quaternion.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ When the method completes, contains a quaternion facing in the opposite direction.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ A quaternion facing in the opposite direction.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Conjugates a quaternion.
+
+ The quaternion to conjugate.
+ When the method completes, contains the conjugated quaternion.
+
+
+
+ Conjugates a quaternion.
+
+ The quaternion to conjugate.
+ The conjugated quaternion.
+
+
+
+ Calculates the dot product of two quaternions.
+
+ First source quaternion.
+ Second source quaternion.
+ When the method completes, contains the dot product of the two quaternions.
+
+
+
+ Calculates the dot product of two quaternions.
+
+ First source quaternion.
+ Second source quaternion.
+ The dot product of the two quaternions.
+
+
+
+ Exponentiates a quaternion.
+
+ The quaternion to exponentiate.
+ When the method completes, contains the exponentiated quaternion.
+
+
+
+ Exponentiates a quaternion.
+
+ The quaternion to exponentiate.
+ The exponentiated quaternion.
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+ The quaternion to conjugate and renormalize.
+ When the method completes, contains the conjugated and renormalized quaternion.
+
+
+
+ Conjugates and renormalizes the quaternion.
+
+ The quaternion to conjugate and renormalize.
+ The conjugated and renormalized quaternion.
+
+
+
+ Performs a linear interpolation between two quaternions.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two quaternions.
+
+ This method performs the linear interpolation based on the following formula.
+ start + (end - start) * amount
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two quaternion.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two quaternions.
+
+ This method performs the linear interpolation based on the following formula.
+ start + (end - start) * amount
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Calculates the natural logarithm of the specified quaternion.
+
+ The quaternion whose logarithm will be calculated.
+ When the method completes, contains the natural logarithm of the quaternion.
+
+
+
+ Calculates the natural logarithm of the specified quaternion.
+
+ The quaternion whose logarithm will be calculated.
+ The natural logarithm of the quaternion.
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+ The quaternion to normalize.
+ When the method completes, contains the normalized quaternion.
+
+
+
+ Converts the quaternion into a unit quaternion.
+
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+
+ Creates a quaternion given a rotation and an axis.
+
+ The axis of rotation.
+ The angle of rotation.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation and an axis.
+
+ The axis of rotation.
+ The angle of rotation.
+ The newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The right vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The right vector of the quaternion
+ The newly created quaternion
+
+
+
+ Creates a quaternion given left-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given left-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given right-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a quaternion given right-handed forward and up vectors
+
+ The forward vector the quaternion should look at
+ The up vector of the quaternion (must be perpendicular to forward vector)
+ The newly created quaternion
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a left-handed spherical billboard that rotates around a specified object position.
+
+ The position of the object around which the billboard will rotate.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ When the method completes, contains the created billboard quaternion.
+
+
+
+ Creates a quaternion given a rotation matrix.
+
+ The rotation matrix.
+ The newly created quaternion.
+
+
+
+ Creates a quaternion given a yaw, pitch, and roll value.
+
+ The yaw of rotation.
+ The pitch of rotation.
+ The roll of rotation.
+ When the method completes, contains the newly created quaternion.
+
+
+
+ Creates a quaternion given a yaw, pitch, and roll value.
+
+ The yaw of rotation.
+ The pitch of rotation.
+ The roll of rotation.
+ The newly created quaternion.
+
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the spherical linear interpolation of the two quaternions.
+
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+
+ Start quaternion.
+ End quaternion.
+ Value between 0 and 1 indicating the weight of .
+ The spherical linear interpolation of the two quaternions.
+
+
+
+ Interpolates between quaternions, using spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ Value between 0 and 1 indicating the weight of interpolation.
+ When the method completes, contains the spherical quadrangle interpolation of the quaternions.
+
+
+
+ Interpolates between quaternions, using spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ Value between 0 and 1 indicating the weight of interpolation.
+ The spherical quadrangle interpolation of the quaternions.
+
+
+
+ Sets up control points for spherical quadrangle interpolation.
+
+ First source quaternion.
+ Second source quaternion.
+ Third source quaternion.
+ Fourth source quaternion.
+ An array of three quaternions that represent control points for spherical quadrangle interpolation.
+
+
+
+ Adds two quaternions.
+
+ The first quaternion to add.
+ The second quaternion to add.
+ The sum of the two quaternions.
+
+
+
+ Subtracts two quaternions.
+
+ The first quaternion to subtract.
+ The second quaternion to subtract.
+ The difference of the two quaternions.
+
+
+
+ Reverses the direction of a given quaternion.
+
+ The quaternion to negate.
+ A quaternion facing in the opposite direction.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Scales a quaternion by the given value.
+
+ The quaternion to scale.
+ The amount by which to scale the quaternion.
+ The scaled quaternion.
+
+
+
+ Multiplies a quaternion by another.
+
+ The first quaternion to multiply.
+ The second quaternion to multiply.
+ The multiplied quaternion.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is equivalent to the identity quaternion.
+
+
+ true if this instance is an identity quaternion; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets the angle of the quaternion.
+
+ The quaternion's angle.
+
+
+
+ Gets the axis components of the quaternion.
+
+ The axis components of the quaternion.
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Represents a three dimensional line based on a point in space and a direction.
+
+
+
+
+ The position in three dimensional space where the ray starts.
+
+
+
+
+ The normalized direction in which the ray points.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The position in three dimensional space of the origin of the ray.
+ The normalized direction of the ray.
+
+
+
+ Determines if there is an intersection between the current object and a point.
+
+ The point to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The ray to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The plane to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a triangle.
+
+ The first vertex of the triangle to test.
+ The second vertex of the triangle to test.
+ The third vertex of the triangle to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The box to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ When the method completes, contains the distance of the intersection,
+ or 0 if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Determines if there is an intersection between the current object and a .
+
+ The sphere to test.
+ When the method completes, contains the point of intersection,
+ or if there was no intersection.
+ Whether the two objects intersected.
+
+
+
+ Calculates a world space from 2d screen coordinates.
+
+ X coordinate on 2d screen.
+ Y coordinate on 2d screen.
+ .
+ Transformation .
+ Resulting .
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Define a Rectangle. This structure is slightly different from System.Drawing.Rectangle as it is
+ internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height.
+
+
+
+
+ An empty rectangle.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The left.
+ The top.
+ The width.
+ The height.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ Change in the x-position.
+ Change in the y-position.
+
+
+ Pushes the edges of the rectangle out by the horizontal and vertical values specified.
+ Value to push the sides out by.
+ Value to push the top and bottom out by.
+
+
+ Determines whether this rectangle contains a specified point represented by its x- and y-coordinates.
+ The x-coordinate of the specified point.
+ The y-coordinate of the specified point.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+ [OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+ [OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.
+
+
+
+ Checks, if specified point is inside .
+
+ X point coordinate.
+ Y point coordinate.
+ true if point is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+ The rectangle to evaluate.
+
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+
+ The rectangle to evaluate
+ [OutAttribute] true if the specified rectangle intersects with this one; false otherwise.
+
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+
+ The first rectangle to compare.
+ The second rectangle to compare.
+ The intersection rectangle.
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+ The first rectangle to compare.
+ The second rectangle to compare.
+ [OutAttribute] The area where the two first parameters overlap.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ The union rectangle.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ [OutAttribute] The rectangle that must be the union of the first two rectangles.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an implicit conversion to the structure.
+
+ Performs direct converstion from int to float.
+ The source value.
+ The converted structure.
+
+
+
+
+
+
+ Gets or sets the left.
+
+ The left.
+
+
+
+ Gets or sets the top.
+
+ The top.
+
+
+
+ Gets or sets the right.
+
+ The right.
+
+
+
+ Gets or sets the bottom.
+
+ The bottom.
+
+
+
+ Gets or sets the X position.
+
+ The X position.
+
+
+
+ Gets or sets the Y position.
+
+ The Y position.
+
+
+
+ Gets or sets the width.
+
+ The width.
+
+
+
+ Gets or sets the height.
+
+ The height.
+
+
+
+ Gets or sets the location.
+
+
+ The location.
+
+
+
+
+ Gets the Point that specifies the center of the rectangle.
+
+
+ The center.
+
+
+
+
+ Gets a value that indicates whether the rectangle is empty.
+
+
+ true if [is empty]; otherwise, false.
+
+
+
+
+ Gets or sets the size of the rectangle.
+
+ The size of the rectangle.
+
+
+
+ Gets the position of the top-left corner of the rectangle.
+
+ The top-left corner of the rectangle.
+
+
+
+ Gets the position of the top-right corner of the rectangle.
+
+ The top-right corner of the rectangle.
+
+
+
+ Gets the position of the bottom-left corner of the rectangle.
+
+ The bottom-left corner of the rectangle.
+
+
+
+ Gets the position of the bottom-right corner of the rectangle.
+
+ The bottom-right corner of the rectangle.
+
+
+
+ Define a RectangleF. This structure is slightly different from System.Drawing.RectangleF as it is
+ internally storing Left,Top,Right,Bottom instead of Left,Top,Width,Height.
+
+
+
+
+ An empty rectangle
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The left.
+ The top.
+ The width.
+ The height.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ The values to adjust the position of the rectangle by.
+
+
+ Changes the position of the rectangle.
+ Change in the x-position.
+ Change in the y-position.
+
+
+ Pushes the edges of the rectangle out by the horizontal and vertical values specified.
+ Value to push the sides out by.
+ Value to push the top and bottom out by.
+
+
+ Determines whether this rectangle contains a specified Point.
+ The Point to evaluate.
+ [OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+
+
+ Determines whether this rectangle entirely contains a specified rectangle.
+ The rectangle to evaluate.
+ [OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.
+
+
+
+ Checks, if specified point is inside .
+
+ X point coordinate.
+ Y point coordinate.
+ true if point is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+
+ Checks, if specified is inside .
+
+ Coordinate .
+ true if is inside , otherwise false.
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+ The rectangle to evaluate.
+
+
+
+ Determines whether a specified rectangle intersects with this rectangle.
+
+ The rectangle to evaluate
+ [OutAttribute] true if the specified rectangle intersects with this one; false otherwise.
+
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+
+ The first Rectangle to compare.
+ The second Rectangle to compare.
+ The intersection rectangle.
+
+
+ Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
+ The first rectangle to compare.
+ The second rectangle to compare.
+ [OutAttribute] The area where the two first parameters overlap.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ The union rectangle.
+
+
+
+ Creates a new rectangle that exactly contains two other rectangles.
+
+ The first rectangle to contain.
+ The second rectangle to contain.
+ [OutAttribute] The rectangle that must be the union of the first two rectangles.
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Performs an explicit conversion to structure.
+
+ Performs direct float to int conversion, any fractional data is truncated.
+ The source value.
+ A converted structure.
+
+
+
+
+
+
+ Gets or sets the X position of the left edge.
+
+ The left.
+
+
+
+ Gets or sets the top.
+
+ The top.
+
+
+
+ Gets or sets the right.
+
+ The right.
+
+
+
+ Gets or sets the bottom.
+
+ The bottom.
+
+
+
+ Gets or sets the X position.
+
+ The X position.
+
+
+
+ Gets or sets the Y position.
+
+ The Y position.
+
+
+
+ Gets or sets the width.
+
+ The width.
+
+
+
+ Gets or sets the height.
+
+ The height.
+
+
+
+ Gets or sets the location.
+
+
+ The location.
+
+
+
+
+ Gets the Point that specifies the center of the rectangle.
+
+
+ The center.
+
+
+
+
+ Gets a value that indicates whether the rectangle is empty.
+
+
+ true if [is empty]; otherwise, false.
+
+
+
+
+ Gets or sets the size of the rectangle.
+
+ The size of the rectangle.
+
+
+
+ Gets the position of the top-left corner of the rectangle.
+
+ The top-left corner of the rectangle.
+
+
+
+ Gets the position of the top-right corner of the rectangle.
+
+ The top-right corner of the rectangle.
+
+
+
+ Gets the position of the bottom-left corner of the rectangle.
+
+ The bottom-left corner of the rectangle.
+
+
+
+ Gets the position of the bottom-right corner of the rectangle.
+
+ The bottom-right corner of the rectangle.
+
+
+
+ Result structure for COM methods.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The HRESULT error code.
+
+
+
+ Initializes a new instance of the struct.
+
+ The HRESULT error code.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The result.
+ The result of the conversion.
+
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+ An object to compare with this object.
+
+ true if the current object is equal to the parameter; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Implements the operator ==.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Implements the operator !=.
+
+ The left.
+ The right.
+ The result of the operator.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Checks the error.
+
+
+
+
+ Gets a from an .
+
+ The exception
+ The associated result code
+
+
+
+ Gets the result from win32 error.
+
+ The win32Error.
+ A HRESULT.
+
+
+
+ Result code Ok
+
+ S_OK
+
+
+
+ Result code False
+
+ S_FALSE
+
+
+
+ Result code Abort
+
+ E_ABORT
+
+
+
+ Result code AccessDenied
+
+ E_ACCESSDENIED
+
+
+
+ Result code Fail
+
+ E_FAIL
+
+
+
+ Result code Handle
+
+ E_HANDLE
+
+
+
+ Result code invalid argument
+
+ E_INVALIDARG
+
+
+
+ Result code no interface
+
+ E_NOINTERFACE
+
+
+
+ Result code not implemented
+
+ E_NOTIMPL
+
+
+
+ Result code out of memory
+
+ E_OUTOFMEMORY
+
+
+
+ Result code Invalid pointer
+
+ E_POINTER
+
+
+
+ Unexpected failure
+
+ E_UNEXPECTED
+
+
+
+ Result of a wait abandonned.
+
+ WAIT_ABANDONED
+
+
+
+ Result of a wait timeout.
+
+ WAIT_TIMEOUT
+
+
+
+ Gets the HRESULT error code.
+
+ The HRESULT error code.
+
+
+
+ Gets a value indicating whether this is success.
+
+ true if success; otherwise, false.
+
+
+
+ Gets a value indicating whether this is failure.
+
+ true if failure; otherwise, false.
+
+
+
+ The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer.
+ Equivalent to Windows type SIZE_T.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The size.
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Default constructor.
+
+ value to set
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Adds two sizes.
+
+ The first size to add.
+ The second size to add.
+ The sum of the two sizes.
+
+
+
+ Assert a size (return it unchanged).
+
+ The size to assert (unchanged).
+ The asserted (unchanged) size.
+
+
+
+ Subtracts two sizes.
+
+ The first size to subtract.
+ The second size to subtract.
+ The difference of the two sizes.
+
+
+
+ Reverses the direction of a given size.
+
+ The size to negate.
+ A size facing in the opposite direction.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Scales a size by the given value.
+
+ The size to scale.
+ The amount by which to scale the size.
+ The scaled size.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from void* to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to void*.
+
+ The value.
+ The result of the conversion.
+
+
+
+ A Delegate to get a property value from an object.
+
+ Type of the getter.
+ The obj to get the property from.
+ The value to get.
+
+
+
+ A Delegate to set a property value to an object.
+
+ Type of the setter.
+ The obj to set the property from.
+ The value to set.
+
+
+
+ Utility class.
+
+
+
+
+ Native memcpy.
+
+ The destination memory location.
+ The source memory location.
+ The byte count.
+
+
+
+ Compares two block of memory.
+
+ The pointer to compare from.
+ The pointer to compare against.
+ The size in bytes to compare.
+ true if the buffers are equivalent; otherwise, false.
+
+
+
+ Clears the memory.
+
+ The dest.
+ The value.
+ The size in bytes to clear.
+
+
+
+ Return the sizeof a struct from a CLR. Equivalent to sizeof operator but works on generics too.
+
+ A struct to evaluate.
+ Size of this struct.
+
+
+
+ Return the sizeof an array of struct. Equivalent to sizeof operator but works on generics too.
+
+ A struct.
+ The array of struct to evaluate.
+ Size in bytes of this array of struct.
+
+
+
+ Pins the specified source and call an action with the pinned pointer.
+
+ The type of the structure to pin.
+ The source.
+ The pin action to perform on the pinned pointer.
+
+
+
+ Pins the specified source and call an action with the pinned pointer.
+
+ The type of the structure to pin.
+ The source array.
+ The pin action to perform on the pinned pointer.
+
+
+
+ Converts a structured array to an equivalent byte array.
+
+ The type of source array.
+ The source array.
+ Converted byte array.
+
+
+
+ Swaps the value between two references.
+
+ Type of a data to swap.
+ The left value.
+ The right value.
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data read from the memory location.
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified T data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ source pointer + sizeof(T).
+
+
+
+ Reads the specified array T[] data from a memory location.
+
+ Type of a data to read.
+ Memory location to read from.
+ The data write to.
+ The offset in the array to write to.
+ The number of T element to read from the memory location.
+ source pointer + sizeof(T) * count.
+
+
+
+ Writes the specified T data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The data to write.
+ destination pointer + sizeof(T).
+
+
+
+ Writes the specified T data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The data to write.
+ destination pointer + sizeof(T).
+
+
+
+ Writes the specified array T[] data to a memory location.
+
+ Type of a data to write.
+ Memory location to write to.
+ The array of T data to write.
+ The offset in the array to read from.
+ The number of T element to write to the memory location.
+ destination pointer + sizeof(T) * count.
+
+
+
+ Converts bool array to integer pointers array.
+
+ The bool array.
+ The destination array of int pointers.
+
+
+
+ Converts bool array to array.
+
+ The bool array.
+ Converted array of .
+
+
+
+ Converts integer pointer array to bool array.
+
+ The array of integer pointers.
+ Array size.
+ Converted array of bool.
+
+
+
+ Converts array to bool array.
+
+ The array.
+ Converted array of bool.
+
+
+
+ Gets the from a type.
+
+ The type.
+ The guid associated with this type.
+
+
+
+ Determines whether a given type inherits from a generic type.
+
+ Type of the class to check if it inherits from generic type.
+ Type of the generic.
+ true if [is assignable to generic type] [the specified given type]; otherwise, false.
+
+
+
+ Allocate an aligned memory buffer.
+
+ Size of the buffer to allocate.
+ Alignment, 16 bytes by default.
+ A pointer to a buffer aligned.
+
+ To free this buffer, call .
+
+
+
+
+ Allocate an aligned memory buffer and clear it with a specified value (0 by default).
+
+ Size of the buffer to allocate.
+ Default value used to clear the buffer.
+ Alignment, 16 bytes by default.
+ A pointer to a buffer aligned.
+
+ To free this buffer, call .
+
+
+
+
+ Determines whether the specified memory pointer is aligned in memory.
+
+ The memory pointer.
+ The align.
+ true if the specified memory pointer is aligned in memory; otherwise, false.
+
+
+
+ Allocate an aligned memory buffer.
+
+ A pointer to a buffer aligned.
+
+ The buffer must have been allocated with .
+
+
+
+
+ Converts a pointer to a null-terminating string up to maxLength characters to a .Net string.
+
+ The pointer to an ANSI null string.
+ Maximum length of the string.
+ The converted string.
+
+
+
+ Converts a pointer to a null-terminating string up to maxLength characters to a .Net string.
+
+ The pointer to an Unicode null string.
+ Maximum length of the string.
+ The converted string.
+
+
+
+ Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Copies the contents of a managed String into unmanaged memory.
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Copies the contents of a managed String into unmanaged memory using
+
+ A managed string to be copied.
+ The address, in unmanaged memory, to where s was copied, or IntPtr.Zero if s is null.
+
+
+
+ Gets the IUnknown from object. Similar to but accept null object
+ by returning an IntPtr.Zero IUnknown pointer.
+
+ The managed object.
+ An IUnknown pointer to a managed object.
+
+
+
+ Gets an object from an IUnknown pointer. Similar to but accept IntPtr.Zero
+ by returning a null object.
+
+ an IUnknown pointer to a managed object.
+ The managed object.
+
+
+
+ String helper join method to display an array of object as a single string.
+
+ The separator.
+ The array.
+ A string with array elements separated by the separator.
+
+
+
+ String helper join method to display an enumerable of object as a single string.
+
+ The separator.
+ The enumerable.
+ A string with array elements separated by the separator.
+
+
+
+ String helper join method to display an enumerable of object as a single string.
+
+ The separator.
+ The enumerable.
+ A string with array elements separated by the separator.
+
+
+
+ Converts a blob to a string.
+
+ A blob.
+ A string extracted from a blob.
+
+
+
+ Equivalent to IntPtr.Add method from 3.5+ .NET Framework.
+ Adds an offset to the value of a pointer.
+
+ A native pointer.
+ The offset to add (number of bytes).
+ A new pointer that reflects the addition of offset to pointer.
+
+
+
+ Read stream to a byte[] buffer.
+
+ Input stream.
+ A byte[] buffer.
+
+
+
+ Read stream to a byte[] buffer.
+
+ Input stream.
+ Length to read.
+ A byte[] buffer.
+
+
+
+ Compares two collection, element by elements.
+
+ A "from" enumerator.
+ A "to" enumerator.
+ true if lists are identical, false otherwise.
+
+
+
+ Compares two collection, element by elements.
+
+ A "from" enumerator.
+ A "to" enumerator.
+ true if lists are identical; otherwise, false.
+
+
+
+ Compares two collection, element by elements.
+
+ The collection to compare from.
+ The collection to compare to.
+ true if lists are identical (but not necessarily of the same time); otherwise , false.
+
+
+
+ Gets the custom attribute.
+
+ Type of the custom attribute.
+ The member info.
+ if set to true [inherited].
+ The custom attribute or null if not found.
+
+
+
+ Gets the custom attributes.
+
+ Type of the custom attribute.
+ The member info.
+ if set to true [inherited].
+ The custom attribute or null if not found.
+
+
+
+ Determines whether fromType can be assigned to toType.
+
+ To type.
+ From type.
+
+ true if [is assignable from] [the specified to type]; otherwise, false.
+
+
+
+
+ Determines whether the specified type to test is an enum.
+
+ The type to test.
+
+ true if the specified type to test is an enum; otherwise, false.
+
+
+
+
+ Determines whether the specified type to test is a value type.
+
+ The type to test.
+
+ true if the specified type to test is a value type; otherwise, false.
+
+
+
+
+ Builds a fast property getter from a type and a property info.
+
+ Type of the getter.
+ Type of the custom effect.
+ The property info to get the value from.
+ A compiled delegate.
+
+
+
+ Builds a fast property setter from a type and a property info.
+
+ Type of the setter.
+ Type of the custom effect.
+ The property info to set the value to.
+ A compiled delegate.
+
+
+
+ Suspends the current thread of a .
+
+ The duration to sleep in milliseconds.
+
+
+
+ Finds an explicit conversion between a source type and a target type.
+
+ Type of the source.
+ Type of the target.
+ The method to perform the conversion. null if not found.
+
+
+
+ Loads a native library.
+
+ Name of the DLL.
+ If DLL was not found.
+ Handle to the module.
+
+
+
+ Gets the proc address of a DLL.
+
+ The handle.
+ The DLL function to import.
+ If the function was not found.
+ Pointer to address of the exported function or variable.
+
+
+
+ Compute a FNV1-modified Hash from Fowler/Noll/Vo Hash improved version.
+
+ Data to compute the hash from.
+ A hash value.
+
+
+
+ Safely dispose a reference if not null, and set it to null after dispose.
+
+ The type of COM interface to dispose.
+ Object to dispose.
+
+ The reference will be set to null after dispose.
+
+
+
+
+ Transforms an to an array of T.
+
+ Type of the element
+ The enumerable source.
+ an array of T
+
+
+
+ Test if there is an element in this enumeration.
+
+ Type of the element
+ The enumerable source.
+ true if there is an element in this enumeration, false otherwise
+
+
+
+ Select elements from an enumeration.
+
+ The type of the T source.
+ The type of the T result.
+ The source.
+ The selector.
+ A enumeration of selected values
+
+
+
+ Selects distinct elements from an enumeration.
+
+ The type of the T source.
+ The source.
+ The comparer.
+ A enumeration of selected values
+
+
+
+ Determines whether the type inherits from the specified type (used to determine a type without using an explicit type instance).
+
+ The type.
+ Name of the parent type to find in inheritance hierarchy of type.
+ true if the type inherits from the specified type; otherwise, false.
+
+
+ Determines the concurrency model used for incoming calls to objects created by this thread. This concurrency model can be either apartment-threaded or multi-threaded.
+
+
+
+ Initializes the thread for apartment-threaded object concurrency.
+
+
+
+
+ Initializes the thread for multi-threaded object concurrency.
+
+
+
+
+ Disables DDE for OLE1 support.
+
+
+
+
+ Trade memory for speed.
+
+
+
+
+ Represents a two dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0).
+
+
+
+
+ The Y unit (0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X and Y components of the vector. This must be an array with two elements.
+ Thrown when is null.
+ Thrown when contains more or less than two elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A two-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 2D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
+
+ A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 2D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Saturates this instance in the range [0,1]
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ When the method completes, contains the reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ The reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 2D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 2D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 2D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 2D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 2D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ When the method completes, contains the transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ The transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation on an array of vectors using the given .
+
+ The array of coordinate vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ When the method completes, contains the transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ The transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation on an array of vectors using the given .
+
+ The array of normal vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X or Y component, depending on the index.
+ The index of the component to access. Use 0 for the X component and 1 for the Y component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 1].
+
+
+
+ Represents a three dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0).
+
+
+
+
+ The Z unit (0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ A unit designating up (0, 1, 0).
+
+
+
+
+ A unit designating down (0, -1, 0).
+
+
+
+
+ A unit designating left (-1, 0, 0).
+
+
+
+
+ A unit designating right (1, 0, 0).
+
+
+
+
+ A unit designating forward in a right-handed coordinate system (0, 0, -1).
+
+
+
+
+ A unit designating forward in a left-handed coordinate system (0, 0, 1).
+
+
+
+
+ A unit designating backward in a right-handed coordinate system (0, 0, 1).
+
+
+
+
+ A unit designating backward in a left-handed coordinate system (0, 0, -1).
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.
+ Thrown when is null.
+ Thrown when contains more or less than three elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A three-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiply a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiply a vector with another by performing component-wise multiplication.
+
+ The first vector to Multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
+
+ A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 3D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
+
+ A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 3D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Calculates the cross product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains he cross product of the two vectors.
+
+
+
+ Calculates the cross product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The cross product of the two vectors.
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Tests whether one 3D vector is near another 3D vector.
+
+ The left vector.
+ The right vector.
+ The epsilon.
+ true if left and right are near another 3D, false otherwise
+
+
+
+ Tests whether one 3D vector is near another 3D vector.
+
+ The left vector.
+ The right vector.
+ The epsilon.
+ true if left and right are near another 3D, false otherwise
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ When the method completes, contains the vector in screen space.
+
+
+
+ Projects a 3D vector from object space into screen space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ The vector in screen space.
+
+
+
+ Projects a 3D vector from screen space into object space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ When the method completes, contains the vector in object space.
+
+
+
+ Projects a 3D vector from screen space into object space.
+
+ The vector to project.
+ The X position of the viewport.
+ The Y position of the viewport.
+ The width of the viewport.
+ The height of the viewport.
+ The minimum depth of the viewport.
+ The maximum depth of the viewport.
+ The combined world-view-projection matrix.
+ The vector in object space.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ When the method completes, contains the reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+
+ The source vector.
+ Normal of the surface.
+ The reflected vector.
+ Reflect only gives the direction of a reflection off a surface, it does not determine
+ whether the original vector was close enough to the surface to hit it.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 3D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 3D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 3D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ When the method completes, contains the transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation using the given .
+
+ The coordinate vector to transform.
+ The transformation .
+ The transformed coordinates.
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a coordinate transformation on an array of vectors using the given .
+
+ The array of coordinate vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A coordinate transform performs the transformation with the assumption that the w component
+ is one. The four dimensional vector obtained from the transformation operation has each
+ component in the vector divided by the w component. This forces the w component to be one and
+ therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
+ with coordinates as the w component can safely be ignored.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ When the method completes, contains the transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation using the given .
+
+ The normal vector to transform.
+ The transformation .
+ The transformed normal.
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Performs a normal transformation on an array of vectors using the given .
+
+ The array of normal vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+ A normal transform performs the transformation with the assumption that the w component
+ is zero. This causes the fourth row and fourth column of the matrix to be unused. The
+ end result is a vector that is not translated, but all other transformation properties
+ apply. This is often preferred for normal vectors as normals purely represent direction
+ rather than location because normal vectors should not be translated.
+
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with added scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, or Z component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 2].
+
+
+
+ Represents a four dimensional mathematical vector.
+
+
+
+
+ The size of the type, in bytes.
+
+
+
+
+ A with all of its components set to zero.
+
+
+
+
+ The X unit (1, 0, 0, 0).
+
+
+
+
+ The Y unit (0, 1, 0, 0).
+
+
+
+
+ The Z unit (0, 0, 1, 0).
+
+
+
+
+ The W unit (0, 0, 0, 1).
+
+
+
+
+ A with all of its components set to one.
+
+
+
+
+ The X component of the vector.
+
+
+
+
+ The Y component of the vector.
+
+
+
+
+ The Z component of the vector.
+
+
+
+
+ The W component of the vector.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The value that will be assigned to all components.
+
+
+
+ Initializes a new instance of the struct.
+
+ Initial value for the X component of the vector.
+ Initial value for the Y component of the vector.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X, Y, and Z components.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ A vector containing the values with which to initialize the X and Y components.
+ Initial value for the Z component of the vector.
+ Initial value for the W component of the vector.
+
+
+
+ Initializes a new instance of the struct.
+
+ The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
+ Thrown when is null.
+ Thrown when contains more or less than four elements.
+
+
+
+ Calculates the length of the vector.
+
+ The length of the vector.
+
+ may be preferred when only the relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared length of the vector.
+
+ The squared length of the vector.
+
+ This method may be preferred to when only a relative length is needed
+ and speed is of the essence.
+
+
+
+
+ Converts the vector into a unit vector.
+
+
+
+
+ Creates an array containing the elements of the vector.
+
+ A four-element array containing the components of the vector.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ When the method completes, contains the sum of the two vectors.
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector
+ The scalar value to be added to elements
+ The vector with added scalar for each element.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ When the method completes, contains the difference of the two vectors.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector
+ The scalar value to be subtraced from elements
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The scalar value to be subtraced from elements
+ The input vector.
+ The vector with subtracted scalar for each element.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ When the method completes, contains the multiplied vector.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication.
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplied vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ When the method completes, contains the scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ When the method completes, contains a vector facing in the opposite direction.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ When the method completes, contains the 4D Cartesian coordinates of the specified point.
+
+
+
+ Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
+
+ A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
+ A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
+ Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
+ Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
+ A new containing the 4D Cartesian coordinates of the specified point.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ When the method completes, contains the clamped value.
+
+
+
+ Restricts a value to be within a specified range.
+
+ The value to clamp.
+ The minimum value.
+ The maximum value.
+ The clamped value.
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The distance between the two vectors.
+
+ may be preferred when only the relative distance is needed
+ and speed is of the essence.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ When the method completes, contains the squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the squared distance between two vectors.
+
+ The first vector.
+ The second vector.
+ The squared distance between the two vectors.
+ Distance squared is the value before taking the square root.
+ Distance squared can often be used in place of distance if relative comparisons are being made.
+ For example, consider three points A, B, and C. To determine whether B or C is further from A,
+ compare the distance between A and B to the distance between A and C. Calculating the two distances
+ involves two square roots, which are computationally expensive. However, using distance squared
+ provides the same information and avoids calculating two square roots.
+
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector
+ Second source vector.
+ When the method completes, contains the dot product of the two vectors.
+
+
+
+ Calculates the dot product of two vectors.
+
+ First source vector.
+ Second source vector.
+ The dot product of the two vectors.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ When the method completes, contains the normalized vector.
+
+
+
+ Converts the vector into a unit vector.
+
+ The vector to normalize.
+ The normalized vector.
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a linear interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The linear interpolation of the two vectors.
+
+ Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
+
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ When the method completes, contains the cubic interpolation of the two vectors.
+
+
+
+ Performs a cubic interpolation between two vectors.
+
+ Start vector.
+ End vector.
+ Value between 0 and 1 indicating the weight of .
+ The cubic interpolation of the two vectors.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ When the method completes, contains the result of the Hermite spline interpolation.
+
+
+
+ Performs a Hermite spline interpolation.
+
+ First source position vector.
+ First source tangent vector.
+ Second source position vector.
+ Second source tangent vector.
+ Weighting factor.
+ The result of the Hermite spline interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ When the method completes, contains the result of the Catmull-Rom interpolation.
+
+
+
+ Performs a Catmull-Rom interpolation using the specified positions.
+
+ The first position in the interpolation.
+ The second position in the interpolation.
+ The third position in the interpolation.
+ The fourth position in the interpolation.
+ Weighting factor.
+ A vector that is the result of the Catmull-Rom interpolation.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the largest components of the source vectors.
+
+
+
+ Returns a vector containing the largest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the largest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ When the method completes, contains an new vector composed of the smallest components of the source vectors.
+
+
+
+ Returns a vector containing the smallest components of the specified vectors.
+
+ The first source vector.
+ The second source vector.
+ A vector containing the smallest components of the source vectors.
+
+
+
+ Orthogonalizes a list of vectors.
+
+ The list of orthogonalized vectors.
+ The list of vectors to orthogonalize.
+
+ Orthogonalization is the process of making all vectors orthogonal to each other. This
+ means that any given vector in the list will be orthogonal to any other given vector in the
+ list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Orthonormalizes a list of vectors.
+
+ The list of orthonormalized vectors.
+ The list of vectors to orthonormalize.
+
+ Orthonormalization is the process of making all vectors orthogonal to each
+ other and making all vectors of unit length. This means that any given vector will
+ be orthogonal to any other given vector in the list.
+ Because this method uses the modified Gram-Schmidt process, the resulting vectors
+ tend to be numerically unstable. The numeric stability decreases according to the vectors
+ position in the list so that the first vector is the most stable and the last vector is the
+ least stable.
+
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 4D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given rotation.
+
+ The vector to rotate.
+ The rotation to apply.
+ The transformed .
+
+
+
+ Transforms an array of vectors by the given rotation.
+
+ The array of vectors to transform.
+ The rotation to apply.
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ When the method completes, contains the transformed .
+
+
+
+ Transforms a 4D vector by the given .
+
+ The source vector.
+ The transformation .
+ The transformed .
+
+
+
+ Transforms an array of 4D vectors by the given .
+
+ The array of vectors to transform.
+ The transformation .
+ The array for which the transformed vectors are stored.
+ This array may be the same array as .
+ Thrown when or is null.
+ Thrown when is shorter in length than .
+
+
+
+ Adds two vectors.
+
+ The first vector to add.
+ The second vector to add.
+ The sum of the two vectors.
+
+
+
+ Multiplies a vector with another by performing component-wise multiplication equivalent to .
+
+ The first vector to multiply.
+ The second vector to multiply.
+ The multiplication of the two vectors.
+
+
+
+ Assert a vector (return it unchanged).
+
+ The vector to assert (unchanged).
+ The asserted (unchanged) vector.
+
+
+
+ Subtracts two vectors.
+
+ The first vector to subtract.
+ The second vector to subtract.
+ The difference of the two vectors.
+
+
+
+ Reverses the direction of a given vector.
+
+ The vector to negate.
+ A vector facing in the opposite direction.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The amount by which to scale the vector.
+ The vector to scale.
+ The scaled vector.
+
+
+
+ Scales a vector by the given value.
+
+ The vector to scale.
+ The amount by which to scale the vector.
+ The scaled vector.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise addition
+
+ The input vector.
+ The scalar value to be added on elements
+ The vector with added scalar for each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Perform a component-wise subtraction
+
+ The input vector.
+ The scalar value to be subtraced from elements
+ The vector with subtraced scalar from each element.
+
+
+
+ Tests for equality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has the same value as ; otherwise, false.
+
+
+
+ Tests for inequality between two objects.
+
+ The first value to compare.
+ The second value to compare.
+ true if has a different value than ; otherwise, false.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Gets a value indicting whether this instance is normalized.
+
+
+
+
+ Gets a value indicting whether this vector is zero
+
+
+
+
+ Gets or sets the component at the specified index.
+
+ The value of the X, Y, Z, or W component, depending on the index.
+ The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
+ The value of the component at the specified index.
+ Thrown when the is out of the range [0, 3].
+
+
+
+ Internal FontFileEnumerator callback
+
+
+
+
+ Internal FontFileEnumerator Callback
+
+
+
+ HRESULT ISequentialStream::Read([Out, Buffer] void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbRead)
+
+
+ HRESULT ISequentialStream::Write([In, Buffer] const void* pv,[In] unsigned int cb,[Out, Optional] unsigned int* pcbWritten)
+
+
+
+ Callbacks to pointer.
+
+ The stream.
+
+
+
+ HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition)
+
+
+ HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize)
+
+
+ HRESULT IStream::CopyTo([In] IStream* pstm,[In] ULARGE_INTEGER cb,[Out, Optional] ULARGE_INTEGER* pcbRead,[Out, Optional] ULARGE_INTEGER* pcbWritten)
+
+
+ HRESULT IStream::Commit([In] STGC grfCommitFlags)
+
+
+ HRESULT IStream::Revert()
+
+
+ HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+
+
+ HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)
+
+
+ HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag)
+
+
+ HRESULT IStream::Clone([Out] IStream** ppstm)
+
+
+
+ Converts a win32 error code to a .
+
+ The error code.
+ A HRESULT code
+
+
+
+ Converts a win32 error code to a .
+
+ The error code.
+ A HRESULT code
+
+
+
+ The namespace contains common enumerations, structures and helper classes for Win32 low-level API.
+
+
+
+
+ Implementation of OLE IPropertyBag2.
+
+ IPropertyBag2
+
+
+
+ Initializes a new instance of the class.
+
+ The property bag pointer.
+
+
+
+ Gets the value of the property with this name.
+
+ The name.
+ Value of the property
+
+
+
+ Gets the value of the property by using a
+
+ The public type of this property.
+ The marshaling type of this property.
+ The property key.
+ Value of the property
+
+
+
+ Sets the value of the property with this name
+
+ The name.
+ The value.
+
+
+
+ Sets the value of the property by using a
+
+ The public type of this property.
+ The marshaling type of this property.
+ The property key.
+ The value.
+
+
+
+ Gets the number of properties.
+
+
+
+
+ Gets the keys.
+
+
+
+
+ Identifies a typed property in a .
+
+ The public type of this property.
+ The marshaling type of this property.
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+
+
+
+ Gets the name.
+
+
+
+
+ An enumerator using internally a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The PTR to I enum string.
+
+
+
+ Security attributes.
+
+ SECURITY_ATTRIBUTES
+
+
+
+ Length.
+
+
+
+
+ Descriptor.
+
+
+
+
+ Gets or sets a value indicating whether [inherit handle].
+
+
+ true if [inherit handle]; otherwise, false.
+
+
+
+
+ Variant COM.
+
+ PROPVARIANT
+
+
+
+ Gets the type of the element.
+
+
+ The type of the element.
+
+
+
+
+ Gets the type.
+
+
+
+
+ Gets or sets the value.
+
+
+ The value.
+
+
+
+
+ Type of a simple variant value.
+
+
+
+
+ Type of a variant
+
+
+
+
+ Simple value
+
+
+
+
+ Vector value.
+
+
+
+
+ Array value.
+
+
+
+
+ By reference.
+
+
+
+
+ Reserved value.
+
+
+
+
+ The namespace contains basic controls used to render DirectX content.
+
+
+
+
diff --git a/Externals/SharpDX/net20/SharpDX.DirectSound.dll b/Externals/SharpDX/net20/SharpDX.DirectSound.dll
index e8e598d53..f78a44ff8 100644
Binary files a/Externals/SharpDX/net20/SharpDX.DirectSound.dll and b/Externals/SharpDX/net20/SharpDX.DirectSound.dll differ
diff --git a/Externals/SharpDX/net20/SharpDX.DirectSound.xml b/Externals/SharpDX/net20/SharpDX.DirectSound.xml
index 848ed3e68..464a81b0a 100644
--- a/Externals/SharpDX/net20/SharpDX.DirectSound.xml
+++ b/Externals/SharpDX/net20/SharpDX.DirectSound.xml
@@ -17,7 +17,7 @@
The structure contains all information necessary to uniquely describe the location, orientation, and motion of a 3D sound buffer. This structure is used with theIDirectSound3DBuffer8::GetAllParametersandIDirectSound3DBuffer8::SetAllParametersmethods.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816DS3DBUFFERDS3DBUFFER
@@ -31,7 +31,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwSizeunsigned int dwSize
@@ -40,7 +40,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816D3DVECTOR vPositionD3DVECTOR vPosition
@@ -49,7 +49,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816D3DVECTOR vVelocityD3DVECTOR vVelocity
@@ -58,7 +58,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwInsideConeAngleunsigned int dwInsideConeAngle
@@ -67,7 +67,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwOutsideConeAngleunsigned int dwOutsideConeAngle
@@ -76,7 +76,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816D3DVECTOR vConeOrientationD3DVECTOR vConeOrientation
@@ -85,7 +85,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816int lConeOutsideVolumeint lConeOutsideVolume
@@ -94,7 +94,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816float flMinDistancefloat flMinDistance
@@ -103,7 +103,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816float flMaxDistancefloat flMaxDistance
@@ -112,19 +112,15 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwModeunsigned int dwMode
- The structure describes the capabilities of a device. It is used by theIDirectSound8::GetCapsmethod.
+ No documentation.
-
-
Some audio cards may be unable to report accurately the number of available or free hardware buffers. This can happen, for example, when the card can play more sounds at lower sampling rates than at higher rates. In general, a nonzero value in any of the members relating to number of free hardware buffers signifies that at least one hardware resource of the appropriate type is available.
The unlock transfer rate for software buffers is 0, because the data need not be transferred anywhere. Similarly, the play processing overhead for hardware buffers is 0 because the mixing is done by the sound device.
-
- microsoft.directx_sdk.reference.dscapsDSCAPSDSCAPS
@@ -138,7 +134,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwSizeunsigned int dwSize
@@ -147,7 +142,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_FLAGS dwFlagsDSCAPS_FLAGS dwFlags
@@ -156,7 +150,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMinSecondarySampleRateunsigned int dwMinSecondarySampleRate
@@ -165,7 +158,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxSecondarySampleRateunsigned int dwMaxSecondarySampleRate
@@ -174,7 +166,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwPrimaryBuffersunsigned int dwPrimaryBuffers
@@ -183,7 +174,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHwMixingAllBuffersunsigned int dwMaxHwMixingAllBuffers
@@ -192,7 +182,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHwMixingStaticBuffersunsigned int dwMaxHwMixingStaticBuffers
@@ -201,7 +190,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHwMixingStreamingBuffersunsigned int dwMaxHwMixingStreamingBuffers
@@ -210,7 +198,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMixingAllBuffersunsigned int dwFreeHwMixingAllBuffers
@@ -219,7 +206,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMixingStaticBuffersunsigned int dwFreeHwMixingStaticBuffers
@@ -228,7 +214,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMixingStreamingBuffersunsigned int dwFreeHwMixingStreamingBuffers
@@ -237,7 +222,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHw3DAllBuffersunsigned int dwMaxHw3DAllBuffers
@@ -246,7 +230,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHw3DStaticBuffersunsigned int dwMaxHw3DStaticBuffers
@@ -255,7 +238,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHw3DStreamingBuffersunsigned int dwMaxHw3DStreamingBuffers
@@ -264,7 +246,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHw3DAllBuffersunsigned int dwFreeHw3DAllBuffers
@@ -273,7 +254,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHw3DStaticBuffersunsigned int dwFreeHw3DStaticBuffers
@@ -282,7 +262,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHw3DStreamingBuffersunsigned int dwFreeHw3DStreamingBuffers
@@ -291,7 +270,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwTotalHwMemBytesunsigned int dwTotalHwMemBytes
@@ -300,7 +278,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMemBytesunsigned int dwFreeHwMemBytes
@@ -309,7 +286,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxContigFreeHwMemBytesunsigned int dwMaxContigFreeHwMemBytes
@@ -318,7 +294,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwUnlockTransferRateHwBuffersunsigned int dwUnlockTransferRateHwBuffers
@@ -327,7 +302,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwPlayCpuOverheadSwBuffersunsigned int dwPlayCpuOverheadSwBuffers
@@ -336,7 +310,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwReserved1unsigned int dwReserved1
@@ -345,65 +318,22 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwReserved2unsigned int dwReserved2
-
The interface is used to manipulate sound capture buffers.
To obtain the interface, call the IDirectSoundCapture8::CreateCaptureBuffer method to obtain , then pass IID_IDirectSoundCaptureBuffer8 to IDirectSoundCaptureBuffer::QueryInterface.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Capture Management
Method
-
Description
-
IDirectSoundCaptureBuffer8::Lock
The Lock method locks a portion of the buffer. Locking the buffer returns references into the buffer, allowing the application to read or write audio data into memory.
-
IDirectSoundCaptureBuffer8::Start
The Start method begins capturing data into the buffer. If the buffer is already capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Stop
The Stop method stops the buffer so that it is no longer capturing data. If the buffer is not capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Unlock
The Unlock method unlocks the buffer.
-
Effects
Method
-
Description
-
The GetFXStatus method retrieves the status of capture effects.
-
The GetObjectInPath method retrieves an interface to an effect object associated with the buffer.
-
Initialization
Method
-
Description
-
IDirectSoundCaptureBuffer8::Initialize
The Initialize method initializes a capture buffer object. Because the IDirectSoundCapture8::CreateCaptureBufferIDirectSoundCapture8::CreateCaptureBuffer
-
Information
Method
-
Description
-
IDirectSoundCaptureBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer.
-
IDirectSoundCaptureBuffer8::GetCurrentPosition
Address of a variable that receives the offset from the start of the buffer, in bytes, of the capture cursor. The parameter can be null if this value is not wanted.
-
IDirectSoundCaptureBuffer8::GetFormat
The GetFormat method retrieves the waveform format of the capture buffer.
-
IDirectSoundCaptureBuffer8::GetStatus
The GetStatus method retrieves the status of the capture buffer.
-
The LPDIRECTSOUNDCaptureBuffer8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDCaptureBuffer8;
-
+ No documentation.
- ee418162IDirectSoundCaptureBuffer8IDirectSoundCaptureBuffer8
-
The interface is used to manipulate sound capture buffers.
To obtain the interface, call the IDirectSoundCapture8::CreateCaptureBuffer method to obtain , then pass IID_IDirectSoundCaptureBuffer8 to IDirectSoundCaptureBuffer::QueryInterface.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Capture Management
Method
-
Description
-
IDirectSoundCaptureBuffer8::Lock
The Lock method locks a portion of the buffer. Locking the buffer returns references into the buffer, allowing the application to read or write audio data into memory.
-
IDirectSoundCaptureBuffer8::Start
The Start method begins capturing data into the buffer. If the buffer is already capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Stop
The Stop method stops the buffer so that it is no longer capturing data. If the buffer is not capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Unlock
The Unlock method unlocks the buffer.
-
Effects
Method
-
Description
-
The GetFXStatus method retrieves the status of capture effects.
-
The GetObjectInPath method retrieves an interface to an effect object associated with the buffer.
-
Initialization
Method
-
Description
-
IDirectSoundCaptureBuffer8::Initialize
The Initialize method initializes a capture buffer object. Because the IDirectSoundCapture8::CreateCaptureBufferIDirectSoundCapture8::CreateCaptureBuffer
-
Information
Method
-
Description
-
IDirectSoundCaptureBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer.
-
IDirectSoundCaptureBuffer8::GetCurrentPosition
Address of a variable that receives the offset from the start of the buffer, in bytes, of the capture cursor. The parameter can be null if this value is not wanted.
-
IDirectSoundCaptureBuffer8::GetFormat
The GetFormat method retrieves the waveform format of the capture buffer.
-
IDirectSoundCaptureBuffer8::GetStatus
The GetStatus method retrieves the status of the capture buffer.
-
The LPDIRECTSOUNDCaptureBuffer8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDCaptureBuffer8;
-
+ No documentation.
- ee418162IDirectSoundCaptureBufferIDirectSoundCaptureBuffer
@@ -461,32 +391,30 @@
Pointer to a structure that receives information about the capture buffer. On input, the dwSize member must specify the size of the structure in bytes.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_UNSUPPORTED
DSERR_OUTOFMEMORY
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getcaps
+ ee418164HRESULT IDirectSoundCaptureBuffer::GetCaps([Out] DSCBCAPS* pDSCBCaps)IDirectSoundCaptureBuffer::GetCaps
- The GetCurrentPosition method retrieves the positions of the capture and read cursors in the buffer.
The capture cursor is ahead of the read cursor. The data after the read position up to and including the capture position is not necessarily valid data.
+ No documentation.
-
Address of a variable that receives the offset from the start of the buffer, in bytes, of the capture cursor. The parameter can be null if this value is not wanted.
-
Address of a variable that receives the offset from the start of the buffer, in bytes, of the read cursor.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_NODRIVER
DSERR_OUTOFMEMORY
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getcurrentpositionHRESULT IDirectSoundCaptureBuffer::GetCurrentPosition([Out, Optional] unsigned int* pdwCapturePosition,[Out, Optional] unsigned int* pdwReadPosition)IDirectSoundCaptureBuffer::GetCurrentPosition
- The GetFormat method retrieves the waveform format of the capture buffer.
+ No documentation.
-
Address of a structure that receives a description of the sound data in the capture buffer. To retrieve the buffer size needed to contain the format description, specify null.; in this case, the DWORD pointed to by the pdwSizeWritten parameter receives the size of the structure needed to receive complete format information.
-
Size, in bytes, of the structure. DirectSoundCapture writes, at most, dwSizeAllocated bytes to the structure.
-
Address of a variable that receives the number of bytes written to the structure; or, if pwfxFormat is null, the size of the structure that would be necessary to receive the information. This parameter can be null if the value is not wanted.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getformatHRESULT IDirectSoundCaptureBuffer::GetFormat([In] void* pwfxFormat,[In] unsigned int dwSizeAllocated,[Out, Optional] unsigned int* pdwSizeWritten)IDirectSoundCaptureBuffer::GetFormat
@@ -497,7 +425,7 @@
Address of a variable that receives the status of the capture buffer. The status can be set to one or more of the following:
Value
Description
The buffer is capturing audio data.
The buffer is looping.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
This method accepts an offset and a byte count, and returns two read references and their associated sizes. If the locked portion does not extend to the end of the buffer and wrap to the beginning, the second reference, ppvAudioBytes2, receives null. If the lock does wrap, ppvAudioBytes2 points to the beginning of the buffer.
If the application passes null for the ppvAudioPtr2 and pdwAudioBytes2 parameters, the lock extends no further than the end of the buffer and does not wrap.
The application should read data from the references returned by this method and then immediately call Unlock. The sound buffer should not remain locked while it is running; if it does, the capture cursor will reach the locked bytes and audio problems may result.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.lock
+ ee418179HRESULT IDirectSoundCaptureBuffer::Lock([In] unsigned int dwOffset,[In] unsigned int dwBytes,[Out] void** ppvAudioPtr1,[Out] unsigned int* pdwAudioBytes1,[Out] void** ppvAudioPtr2,[Out, Optional] unsigned int* pdwAudioBytes2,[In] unsigned int dwFlags)IDirectSoundCaptureBuffer::Lock
@@ -531,7 +459,7 @@
If the buffer is already capturing, a call to this method using a different value in dwFlags might not change the value returned by GetStatus.
If the application is multithreaded, the thread that starts the buffer must continue to exist as long as the buffer is capturing. Buffers created on WDM drivers stop capturing when the thread is terminated.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.stop
+ ee418183HRESULT IDirectSoundCaptureBuffer::Stop()IDirectSoundCaptureBuffer::Stop
- The Unlock method unlocks the buffer.
+ No documentation.
-
Address of the value retrieved in the ppvAudioPtr1 parameter of the Lock method.
-
Number of bytes read from the pvAudioPtr1 parameter. See Remarks.
-
Address of the value retrieved in the ppvAudioPtr2 parameter of the IDirectSoundCaptureBuffer8::Lock method.
-
Number of bytes read from the pvAudioPtr2 parameter. See Remarks.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values:
Return code
DSERR_INVALIDPARAM
DSERR_INVALIDCALL
-
-
An application must pass both references, pvAudioPtr1 and pvAudioPtr2, returned by the IDirectSoundCaptureBuffer8::Lock method to ensure the correct pairing of IDirectSoundCaptureBuffer8::Lock and IDirectSoundCaptureBuffer8::Unlock. The second reference is needed even if zero bytes were written to the second reference.
The values in dwAudioBytes1 and dwAudioBytes2 must specify the number of bytes actually read from each part of the buffer, which might be less than the size of the lock. DirectSound uses these values to determine how much data to transfer from the device.
Make sure that the capture buffer does not remain locked for long periods of time.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.unlockHRESULT IDirectSoundCaptureBuffer::Unlock([In, Buffer] void* pvAudioPtr1,[In] unsigned int dwAudioBytes1,[In, Buffer, Optional] void* pvAudioPtr2,[In] unsigned int dwAudioBytes2)IDirectSoundCaptureBuffer::Unlock
@@ -593,7 +517,7 @@
The GetCaps method retrieves the capabilities of the buffer.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getcaps
+ ee418164GetCapsGetCapsHRESULT IDirectSoundCaptureBuffer::GetCaps([Out] DSCBCAPS* pDSCBCaps)
@@ -603,7 +527,7 @@
The GetStatus method retrieves the status of the capture buffer.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getstatus
+ ee418174GetStatusGetStatusHRESULT IDirectSoundCaptureBuffer::GetStatus([Out] DSCBSTATUS_FLAGS* pdwStatus)
@@ -685,10 +609,9 @@
- The structure describes the capabilities of a capture buffer. It is used by theIDirectSoundCaptureBuffer8::GetCapsmethod.
+ No documentation.
- microsoft.directx_sdk.reference.dscbcapsDSCBCAPSDSCBCAPS
@@ -702,7 +625,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsunsigned int dwSizeunsigned int dwSize
@@ -711,7 +633,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsDSCBCAPS_FLAGS dwFlagsDSCBCAPS_FLAGS dwFlags
@@ -720,7 +641,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsunsigned int dwBufferBytesunsigned int dwBufferBytes
@@ -729,19 +649,14 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsunsigned int dwReservedunsigned int dwReserved
- The structure describes a capture buffer. It is used by theIDirectSoundCapture8::CreateCaptureBuffermethod and by theDirectSoundFullDuplexCreate8function.
An earlier version of this structure, DSCBUFFERDESC1, is maintained in Dsound.h for compatibility with DirectX 7 and earlier.
+ No documentation.
-
-
The flag is supported only on buffers created by an object of class CLSID_DirectSoundCapture8. If the IDirectSoundCapture8 interface was obtained from the DirectSoundCaptureCreate8 function, this flag is supported; if it was obtained from the earlier DirectSoundCaptureCreate function, it is not supported.
Capture effects require Microsoft Windows XP.
-
- microsoft.directx_sdk.reference.dscbufferdescDSCBUFFERDESCDSCBUFFERDESC
@@ -755,7 +670,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwSizeunsigned int dwSize
@@ -764,7 +678,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescDSCBCAPS_FLAGS dwFlagsDSCBCAPS_FLAGS dwFlags
@@ -773,7 +686,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwBufferBytesunsigned int dwBufferBytes
@@ -782,7 +694,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwReservedunsigned int dwReserved
@@ -791,7 +702,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescWAVEFORMATEX* lpwfxFormatWAVEFORMATEX lpwfxFormat
@@ -800,7 +710,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwFXCountunsigned int dwFXCount
@@ -809,7 +718,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescDSCEFFECTDESC* lpDSCFXDescDSCEFFECTDESC lpDSCFXDesc
@@ -987,14 +895,9 @@
-
The IDirectSoundFXChorus8 interface is used to set and retrieve effect parameters on a buffer that supports chorus.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXChorus8 interface exposes the following methods.
IDirectSoundFXChorus8 Members
Method
-
Description
-
IDirectSoundFXChorus8::GetAllParameters
The GetAllParameters method retrieves the chorus parameters of a buffer.
-
IDirectSoundFXChorus8::SetAllParameters
The SetAllParameters method sets the chorus parameters of a buffer.
-
+ No documentation.
- ee418208IDirectSoundFXChorusIDirectSoundFXChorus
@@ -1145,46 +1048,38 @@
- The SetAllParameters method sets the chorus parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxchorus8.idirectsoundfxchorus8.setallparametersHRESULT IDirectSoundFXChorus::SetAllParameters([In] const DSFXChorus* pcDsFxChorus)IDirectSoundFXChorus::SetAllParameters
- The GetAllParameters method retrieves the chorus parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxchorus8.idirectsoundfxchorus8.getallparametersHRESULT IDirectSoundFXChorus::GetAllParameters([Out] DSFXChorus* pDsFxChorus)IDirectSoundFXChorus::GetAllParameters
- The GetAllParameters method retrieves the chorus parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxchorus8.idirectsoundfxchorus8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXChorus::GetAllParameters([Out] DSFXChorus* pDsFxChorus)
-
The IDirectSoundFXCompressor8 interface is used to set and retrieve effect parameters on a buffer that supports compression.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXCompressor8 interface exposes the following methods.
IDirectSoundFXCompressor8 Members
Method
-
Description
-
IDirectSoundFXCompressor8::GetAllParameters
The GetAllParameters method retrieves the compression parameters of a buffer.
-
IDirectSoundFXCompressor8::SetAllParameters
The SetAllParameters method sets the compression parameters of a buffer.
-
+ No documentation.
- ee418215IDirectSoundFXCompressorIDirectSoundFXCompressor
@@ -1295,12 +1190,11 @@
- The SetAllParameters method sets the compression parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxcompressor8.idirectsoundfxcompressor8.setallparametersHRESULT IDirectSoundFXCompressor::SetAllParameters([In] const DSFXCompressor* pcDsFxCompressor)IDirectSoundFXCompressor::SetAllParameters
@@ -1311,7 +1205,7 @@
Address of a structure that receives the effect parameters.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxcompressor8.idirectsoundfxcompressor8.getallparameters
+ ee418216HRESULT IDirectSoundFXCompressor::GetAllParameters([Out] DSFXCompressor* pDsFxCompressor)IDirectSoundFXCompressor::GetAllParameters
@@ -1320,7 +1214,7 @@
The GetAllParameters method retrieves the compression parameters of a buffer.
- microsoft.directx_sdk.idirectsoundfxcompressor8.idirectsoundfxcompressor8.getallparameters
+ ee418216GetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXCompressor::GetAllParameters([Out] DSFXCompressor* pDsFxCompressor)
@@ -1355,49 +1249,17 @@
-
The interface is used to create buffer objects, manage devices, and set up the environment. This interface supersedes and adds new methods.
Obtain this interface by using the DirectSoundCreate8 or DirectSoundFullDuplexCreate8 function, or by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSound8.
In addition to the methods inherited from , the interface exposes the following methods.
IDirectSound8 Members
Method
-
Description
-
IDirectSound8::Compact
The Compact method has no effect.
-
IDirectSound8::CreateSoundBuffer
The CreateSoundBuffer method creates a sound buffer object to manage audio samples.
-
IDirectSound8::DuplicateSoundBuffer
The DuplicateSoundBuffer method creates a new secondary buffer that shares the original buffer's memory.
-
IDirectSound8::GetCaps
The GetCaps method retrieves the capabilities of the hardware device that is represented by the device object.
-
IDirectSound8::GetSpeakerConfig
The GetSpeakerConfig method retrieves the speaker configuration.
-
IDirectSound8::Initialize
The Initialize method initializes a device object that was created by using the CoCreateInstance function.
-
IDirectSound8::SetCooperativeLevel
The SetCooperativeLevel method sets the cooperative level of the application for this sound device.
-
IDirectSound8::SetSpeakerConfig
The SetSpeakerConfig method specifies the speaker configuration of the device.
-
The VerifyCertification method ascertains whether the device driver is certified for DirectX.
-
The LPDIRECTSOUND8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUND8;
-
+ No documentation.
-
-
Only objects of class CLSID_DirectSound8 support this interface. All device objects created by DirectSoundCreate8 and DirectSoundFullDuplexCreate8 fall into this category. Objects of class CLSID_DirectSound, which include all those created by using the earlier DirectSoundCreate function, support only the earlier interface.
The behavior of CLSID_DirectSound8 objects is somewhat different from that of CLSID_DirectSound objects. These differences are found in the interface as well as the interface. Specific differences in the behavior of the newer object include the following:
In calls to and CreateSoundBuffer, cannot be set on a buffer with a non-mono format, and cannot be combined with .
New buffer creation flags are supported.
Buffers are not filled with silence on creation.
The interface returned by CreateSoundBuffer can be queried for the interface.
WAV formats in the structure that have the format tag are checked more strictly for validity.
-
- ee418035IDirectSound8IDirectSound8
-
The interface is used to create buffer objects, manage devices, and set up the environment. This interface supersedes and adds new methods.
Obtain this interface by using the DirectSoundCreate8 or DirectSoundFullDuplexCreate8 function, or by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSound8.
In addition to the methods inherited from , the interface exposes the following methods.
IDirectSound8 Members
Method
-
Description
-
IDirectSound8::Compact
The Compact method has no effect.
-
IDirectSound8::CreateSoundBuffer
The CreateSoundBuffer method creates a sound buffer object to manage audio samples.
-
IDirectSound8::DuplicateSoundBuffer
The DuplicateSoundBuffer method creates a new secondary buffer that shares the original buffer's memory.
-
IDirectSound8::GetCaps
The GetCaps method retrieves the capabilities of the hardware device that is represented by the device object.
-
IDirectSound8::GetSpeakerConfig
The GetSpeakerConfig method retrieves the speaker configuration.
-
IDirectSound8::Initialize
The Initialize method initializes a device object that was created by using the CoCreateInstance function.
-
IDirectSound8::SetCooperativeLevel
The SetCooperativeLevel method sets the cooperative level of the application for this sound device.
-
IDirectSound8::SetSpeakerConfig
The SetSpeakerConfig method specifies the speaker configuration of the device.
-
The VerifyCertification method ascertains whether the device driver is certified for DirectX.
-
The LPDIRECTSOUND8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUND8;
-
+ No documentation.
-
-
Only objects of class CLSID_DirectSound8 support this interface. All device objects created by DirectSoundCreate8 and DirectSoundFullDuplexCreate8 fall into this category. Objects of class CLSID_DirectSound, which include all those created by using the earlier DirectSoundCreate function, support only the earlier interface.
The behavior of CLSID_DirectSound8 objects is somewhat different from that of CLSID_DirectSound objects. These differences are found in the interface as well as the interface. Specific differences in the behavior of the newer object include the following:
In calls to and CreateSoundBuffer, cannot be set on a buffer with a non-mono format, and cannot be combined with .
New buffer creation flags are supported.
Buffers are not filled with silence on creation.
The interface returned by CreateSoundBuffer can be queried for the interface.
WAV formats in the structure that have the format tag are checked more strictly for validity.
DirectSound does not initialize the contents of the buffer, and the application cannot assume that it contains silence.
If an attempt is made to create a buffer with the flag on a system where hardware acceleration is not available, the method fails with either DSERR_CONTROLUNAVAIL or DSERR_INVALIDCALL, depending on the operating system.
Information retrieved in the structure describes the maximum capabilities of the sound device and those currently available, such as the number of hardware mixing channels and the amount of on-board sound memory. You can use this information to fine-tune performance and optimize resource allocation.
Because of resource-sharing requirements, the maximum capabilities in one area might be available only at the cost of another area.
- microsoft.directx_sdk.idirectsound8.idirectsound8.getcaps
+ ee418043HRESULT IDirectSound::GetCaps([Out] DSCAPS* pDSCaps)IDirectSound::GetCaps
- The DuplicateSoundBuffer method creates a new secondary buffer that shares the original buffer's memory.
+ No documentation.
-
Address of the or interface of the buffer to duplicate.
-
Address of a variable that receives the interface reference for the new buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_ALLOCATED
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
DSERR_UNINITIALIZED
-
-
This method is not valid for buffers created with the flag.
Initially, the duplicate buffer will have the same parameters as the original buffer. However, the application can change the parameters of each buffer independently, and each can be played or stopped without affecting the other.
The buffer memory is released when the last object referencing it is released.
There is a known issue with volume levels of duplicated buffers. The duplicated buffer will play at full volume unless you change the volume to a different value than the original buffer's volume setting. If the volume stays the same (even if you explicitly set the same volume in the duplicated buffer with a IDirectSoundBuffer8::SetVolume call), the buffer will play at full volume regardless. To work around this problem, immediately set the volume of the duplicated buffer to something slightly different than what it was, even if you change it one millibel. The volume may then be immediately set back again to the original desired value.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound8.idirectsound8.duplicatesoundbufferHRESULT IDirectSound::DuplicateSoundBuffer([In] IDirectSoundBuffer* pDSBufferOriginal,[Out] void** ppDSBufferDuplicate)IDirectSound::DuplicateSoundBuffer
- The SetCooperativeLevel method sets the cooperative level of the application for this sound device.
+ No documentation.
-
Handle to the application window.
-
Requested level. Specify one of the values shown in the following table.
Value
Description
For DirectX 8.0 and later, has the same effect as . For previous versions, sets the application to the exclusive level. This means that when it has the input focus, the application will be the only one audible; sounds from applications with the flag set will be muted. With this level, it also has all the privileges of the level. DirectSound will restore the hardware format, as specified by the most recent call to the SetFormat method, after the application gains the input focus.
Sets the normal level. This level has the smoothest multitasking and resource-sharing behavior, but because it does not allow the primary buffer format to change, output is restricted to the default 8-bit format.
Sets the priority level. Applications with this cooperative level can call the SetFormat and Compact methods.
Sets the write-primary level. The application has write access to the primary buffer. No secondary buffers can be played. This level cannot be set if the DirectSound driver is being emulated for the device; that is, if the GetCaps method returns the flag in the structure.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the error values shown in the following table.
Return code
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_UNINITIALIZED
DSERR_UNSUPPORTED
-
-
The application must set the cooperative level by calling this method before its buffers can be played. The recommended cooperative level is .
Do not call this method if any buffers are locked.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound8.idirectsound8.setcooperativelevelHRESULT IDirectSound::SetCooperativeLevel([In] HWND hwnd,[In] DSSCL_ENUM dwLevel)IDirectSound::SetCooperativeLevel
- The Compact method has no effect.
+ No documentation.
-
The return value is DS_OK.
-
-
This method was formerly used for compacting the on-board memory of ISA sound cards.
The value returned at pdwSpeakerConfig can be a packed DWORD containing both configuration and geometry information. Use the DSSPEAKER_CONFIG and DSSPEAKER_GEOMETRY macros to unpack the DWORD, as in the following example:
if (DSSPEAKER_CONFIG(dwSpeakerConfig) == ) { if (DSSPEAKER_GEOMETRY(dwSpeakerConfig) == ) { // Configuration is wide stereo. ...} }
To use #defines implemented in Windows Vista, set the DIRECTSOUND_VERSION to 0x1000 before including dsound.h.
The speaker configuration. See the following remarks.
No documentation.
- microsoft.directx_sdk.idirectsound8.idirectsound8.setspeakerconfig
+ ee418050HRESULT IDirectSound::SetSpeakerConfig([In] unsigned int dwSpeakerConfig)IDirectSound::SetSpeakerConfig
@@ -1522,7 +1372,7 @@
Information retrieved in the structure describes the maximum capabilities of the sound device and those currently available, such as the number of hardware mixing channels and the amount of on-board sound memory. You can use this information to fine-tune performance and optimize resource allocation.
Because of resource-sharing requirements, the maximum capabilities in one area might be available only at the cost of another area.
The IDirectSoundCapture8 interface is used to create sound capture buffers.
The interface is obtained by using the DirectSoundCaptureCreate8 or DirectSoundFullDuplexCreate8 functions, or by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSoundCapture8.
IDirectSoundCapture8 is a define for . The two interface names are interchangeable. However, objects supporting this interface can have different functionality, depending on their class. For more information, see DirectSoundCaptureCreate8 and IDirectSoundCapture8::CreateCaptureBuffer.
In addition to the methods inherited from , the IDirectSoundCapture8 interface exposes the following methods.
IDirectSoundCapture8 Members
Method
-
Description
-
IDirectSoundCapture8::CreateCaptureBuffer
The CreateCaptureBuffer method creates a buffer for capturing waveform audio.
-
IDirectSoundCapture8::GetCaps
The GetCaps method retrieves the capabilities of the capture device.
-
IDirectSoundCapture8::Initialize
The Initialize method initializes a capture device object created by using CoCreateInstance. Calling this method is not required when the DirectSoundCaptureCreate8 or DirectSoundFullDuplexCreate8 function is used to create the object.
-
The LPDIRECTSOUNDCAPTURE type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDCAPTURE;
-
+ No documentation.
- ee418154IDirectSoundCaptureIDirectSoundCapture
@@ -1662,7 +1505,7 @@
On Microsoft Windows98 and Windows2000, each capture device supports a single buffer.
The interface is supported only on buffers created by an object of class CLSID_DirectSoundCapture8. If the IDirectSoundCapture8 interface was obtained from DirectSoundCaptureCreate8, is supported. If IDirectSoundCapture8 was obtained from the earlier DirectSoundCaptureCreate function, only is supported.
Pointer to a structure to be receive information about the capture device. When the method is called, the dwSize member must specify the size of the structure in bytes.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_UNSUPPORTED
DSERR_NODRIVER
DSERR_OUTOFMEMORY
DSERR_UNINITIALIZED
- microsoft.directx_sdk.idirectsoundcapture8.idirectsoundcapture8.getcaps
+ ee418158HRESULT IDirectSoundCapture::GetCaps([Out] DSCCAPS* pDSCCaps)IDirectSoundCapture::GetCaps
@@ -1682,21 +1525,16 @@
The GetCaps method retrieves the capabilities of the capture device.
- microsoft.directx_sdk.idirectsoundcapture8.idirectsoundcapture8.getcaps
+ ee418158GetCapsGetCapsHRESULT IDirectSoundCapture::GetCaps([Out] DSCCAPS* pDSCCaps)
-
The IDirectSoundFXDistortion8 interface is used to set and retrieve effect parameters on a buffer that supports distortion.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXDistortion8 interface exposes the following methods.
IDirectSoundFXDistortion8 Members
Method
-
Description
-
IDirectSoundFXDistortion8::GetAllParameters
The GetAllParameters method retrieves the distortion parameters of a buffer.
-
IDirectSoundFXDistortion8::SetAllParameters
The SetAllParameters method sets the distortion parameters of a buffer.
-
+ No documentation.
- ee418218IDirectSoundFXDistortionIDirectSoundFXDistortion
@@ -1797,7 +1635,7 @@
Address of a structure that specifies the effect parameters.
If the method succeeds, the return value is DS_OK or S_FALSE. See the Remarks for . If the method fails, the return value may be DSERR_INVALIDPARAM.
Address of a structure that receives the effect parameters.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxdistortion8.idirectsoundfxdistortion8.getallparameters
+ ee418219HRESULT IDirectSoundFXDistortion::GetAllParameters([Out] DSFXDistortion* pDsFxDistortion)IDirectSoundFXDistortion::GetAllParameters
@@ -1817,21 +1655,16 @@
The GetAllParameters method retrieves the distortion parameters of a buffer.
- microsoft.directx_sdk.idirectsoundfxdistortion8.idirectsoundfxdistortion8.getallparameters
+ ee418219GetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXDistortion::GetAllParameters([Out] DSFXDistortion* pDsFxDistortion)
-
The IDirectSoundFXEcho8 interface is used to set and retrieve effect parameters on a buffer that supports echo.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXEcho8 interface exposes the following methods.
IDirectSoundFXEcho8 Members
Method
-
Description
-
IDirectSoundFXEcho8::GetAllParameters
The GetAllParameters method retrieves the echo parameters of a buffer.
-
IDirectSoundFXEcho8::SetAllParameters
The SetAllParameters method sets the echo parameters of a buffer.
-
+ No documentation.
- ee418221IDirectSoundFXEchoIDirectSoundFXEcho
@@ -1932,27 +1765,25 @@
Address of a structure that specifies the effect parameters.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxecho8.idirectsoundfxecho8.setallparameters
+ ee418224HRESULT IDirectSoundFXEcho::SetAllParameters([In] const DSFXEcho* pcDsFxEcho)IDirectSoundFXEcho::SetAllParameters
- The GetAllParameters method retrieves the echo parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxecho8.idirectsoundfxecho8.getallparametersHRESULT IDirectSoundFXEcho::GetAllParameters([Out] DSFXEcho* pDsFxEcho)IDirectSoundFXEcho::GetAllParameters
- The GetAllParameters method retrieves the echo parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxecho8.idirectsoundfxecho8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXEcho::GetAllParameters([Out] DSFXEcho* pDsFxEcho)
@@ -1967,41 +1798,9 @@
-
The IDirectSound3DBuffer8 interface is used to retrieve and set parameters that describe the position, orientation, and environment of a sound buffer in 3D space.
IDirectSound3DBuffer8 is a define for . The two interface names are interchangeable.
The IDirectSound3DBuffer8 interface is obtained from a buffer that was created with the flag. You can get it from the interface by using the QueryInterface method.
In addition to the methods inherited from , the IDirectSound3DBuffer8 interface exposes the following methods, arranged by category.
3D mode
Method
-
Description
-
IDirectSound3DBuffer8::GetMode
The GetMode method retrieves the operation mode for 3D sound processing.
-
IDirectSound3DBuffer8::SetMode
The SetMode method sets the operation mode for 3D sound processing.
-
Batch Parameters
Method
-
Description
-
IDirectSound3DBuffer8::GetAllParameters
The GetAllParameters method retrieves the 3D properties of the sound buffer.
-
IDirectSound3DBuffer8::SetAllParameters
The SetAllParameters method sets all 3D sound buffer properties.
-
Minimum and Maximum Distance
Method
-
Description
-
IDirectSound3DBuffer8::GetMaxDistance
The GetMaxDistance method retrieves the maximum distance, which is the distance from the listener beyond which sounds in this buffer are no longer attenuated.
-
IDirectSound3DBuffer8::GetMinDistance
The GetMinDistance method retrieves the minimum distance, which is the distance from the listener at which sounds in this buffer begin to be attenuated.
-
IDirectSound3DBuffer8::SetMaxDistance
The SetMaxDistance method sets the maximum distance, which is the distance from the listener beyond which sounds in this buffer are no longer attenuated.
-
IDirectSound3DBuffer8::SetMinDistance
The SetMinDistance method sets the minimum distance, which is the distance from the listener at which sounds in this buffer begin to be attenuated.
-
Position
Method
-
Description
-
IDirectSound3DBuffer8::GetPosition
The GetPosition method retrieves the position of the sound source.
-
IDirectSound3DBuffer8::SetPosition
The SetPosition method sets the position of the sound source.
-
Sound Projection Cone
Method
-
Description
-
IDirectSound3DBuffer8::GetConeAngles
The GetConeAngles method retrieves the inside and outside angles of the sound projection cone.
-
IDirectSound3DBuffer8::GetConeOrientation
The GetConeOrientation method retrieves the orientation of the sound projection cone.
-
IDirectSound3DBuffer8::GetConeOutsideVolume
The GetConeOutsideVolume method retrieves the volume of the sound outside the outside angle of the sound projection cone.
-
IDirectSound3DBuffer8::SetConeAngles
The SetConeAngles method sets the inside and outside angles of the sound projection cone.
-
IDirectSound3DBuffer8::SetConeOrientation
The SetConeOrientation method sets the orientation of the sound projection cone.
-
IDirectSound3DBuffer8::SetConeOutsideVolume
The SetConeOutsideVolume method sets the volume of the sound outside the outside angle of the sound projection cone.
-
Velocity
Method
-
Description
-
IDirectSound3DBuffer8::GetVelocity
The GetVelocity method retrieves the velocity of the sound source.
-
IDirectSound3DBuffer8::SetVelocity
The SetVelocity method sets the velocity of the sound source.
-
The LPDIRECTSOUND3DBUFFER type is defined as a reference to the IDirectSound3DBuffer8 interface:
typedef struct *LPDIRECTSOUND3DBUFFER;
-
+ No documentation.
- ee417960IDirectSound3DBufferIDirectSound3DBuffer
@@ -2064,7 +1863,7 @@
Address of a structure that receives the information describing the 3D characteristics of the sound buffer.
If the method succeeds, the return value is DS_OK.
If the method fails, the return value may be DSERR_INVALIDPARAM.
The values returned are not necessarily the same as those set by using the SetConeOrientation method. DirectSound normalizes orientation vectors so that all axes have a magnitude of less than or equal to 1.0.
Volume levels are expressed as attenuation, in hundredths of a decibel. Allowable values are between (no attenuation) and (silence). The default value is DS3D_DEFAULTCONEOUTSIDEVOLUME (no attenuation). These values are defined in Dsound.h. DirectSound does not support amplification.
By default, the minimum distance value is DS3D_DEFAULTMINDISTANCE, defined as 1.0 (corresponding to 1.0 meter at the default distance factor of 1.0 meters per unit).
Address of a variable that receives the mode setting. This value will be one of those in the following table.
Value
Description
Processing of 3D sound is disabled. The sound seems to originate from the center of the listener's head.
Sound parameters (position, velocity, and orientation) are relative to the listener's parameters. In this mode, the absolute parameters of the sound are updated automatically as the listener's parameters change, so that the relative parameters remain constant.
Normal processing. This is the default mode.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmode
+ ee417975HRESULT IDirectSound3DBuffer::GetMode([Out] unsigned int* pdwMode)IDirectSound3DBuffer::GetMode
- The GetPosition method retrieves the position of the sound source.
+ No documentation.
-
Address of a structure that receives the position of the sound buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
By default, distance units are meters, but the units can be changed by using the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getpositionHRESULT IDirectSound3DBuffer::GetPosition([Out] D3DVECTOR* pvPosition)IDirectSound3DBuffer::GetPosition
@@ -2174,19 +1969,18 @@
Velocity is used for Doppler effects only. It does not actually move the buffer. For more information, see Doppler Effect.
The default unit of measurement is meters per second, but this can be changed by using the SetDistanceFactor method.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getvelocity
+ ee417979HRESULT IDirectSound3DBuffer::GetVelocity([Out] D3DVECTOR* pvVelocity)IDirectSound3DBuffer::GetVelocity
- The SetAllParameters method sets all 3D sound buffer properties.
+ No documentation.
-
Address of a structure that describes the 3D characteristics of the sound buffer.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setallparametersHRESULT IDirectSound3DBuffer::SetAllParameters([In] const DS3DBUFFER* pcDs3dBuffer,[In] unsigned int dwApply)IDirectSound3DBuffer::SetAllParameters
@@ -2202,7 +1996,7 @@
The minimum, maximum, and default cone angles are defined in Dsound.h as DS3D_MINCONEANGLE, DS3D_MAXCONEANGLE, and DS3D_DEFAULTCONEANGLE. Each angle must be in the range of 0 degrees (no cone) to 360 degrees (the full sphere). The default value is 360.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setconeangles
+ ee417984HRESULT IDirectSound3DBuffer::SetConeAngles([In] unsigned int dwInsideConeAngle,[In] unsigned int dwOutsideConeAngle,[In] unsigned int dwApply)IDirectSound3DBuffer::SetConeAngles
@@ -2219,7 +2013,7 @@
This method has no effect unless the cone angle and cone outside volume have also been set to values other than the default.
Volume levels are represented by attenuation. Allowable values are between (no attenuation) and (silence). The default value is DS3D_DEFAULTCONEOUTSIDEVOLUME (no attenuation). These values are defined in Dsound.h. DirectSound does not support amplification.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setconeoutsidevolume
+ ee417987HRESULT IDirectSound3DBuffer::SetConeOutsideVolume([In] int lConeOutsideVolume,[In] unsigned int dwApply)IDirectSound3DBuffer::SetConeOutsideVolume
@@ -2249,7 +2043,7 @@
The default maximum distance, defined as DS3D_DEFAULTMAXDISTANCE, is effectively infinite.
The default unit of measurement is meters, but this can be changed by using the SetDistanceFactor method.
By default, the minimum distance value is DS3D_DEFAULTMINDISTANCE, defined as 1.0 (corresponding to 1.0 meter at the default distance factor of 1.0 meters per unit).
The default unit of measurement is meters, but this can be changed by using the SetDistanceFactor method.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setmindistance
+ ee417991HRESULT IDirectSound3DBuffer::SetMinDistance([In] float flMinDistance,[In] unsigned int dwApply)IDirectSound3DBuffer::SetMinDistance
- The SetMode method sets the operation mode for 3D sound processing.
+ No documentation.
-
Flag specifying the 3D sound processing mode to be set. The flags in the following table are defined.
Value
Description
Processing of 3D sound is disabled. The sound seems to originate from the center of the listener's head.
Sound parameters (position, velocity, and orientation) are relative to the listener's parameters. In this mode, the absolute parameters of the sound are updated automatically as the listener's parameters change, so that the relative parameters remain constant.
Normal processing. This is the default mode.
-
Value that specifies when the setting should be applied. This value must be one of those in the following table.
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setmodeHRESULT IDirectSound3DBuffer::SetMode([In] unsigned int dwMode,[In] unsigned int dwApply)IDirectSound3DBuffer::SetMode
@@ -2293,7 +2086,7 @@
The default unit of measurement is meters, but this can be changed by using the SetDistanceFactor method.
Custom effects can be implemented as DMOs. Effect DMOs must implement the and interfaces.
If dwFlags is zero, the effect is placed in hardware if possible. If the hardware does not support the effect (always the case since DirectX 9.0), software is used. If the effect is not available at all, the call to SetFX fails.
The IDirectSoundFXFlanger8 interface is used to set and retrieve effect parameters on a buffer that supports flange.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXFlanger8 interface exposes the following methods.
IDirectSoundFXFlanger8 Members
Method
-
Description
-
IDirectSoundFXFlanger8::GetAllParameters
The GetAllParameters method retrieves the flange parameters of a buffer.
-
IDirectSoundFXFlanger8::SetAllParameters
The SetAllParameters method sets the flange parameters of a buffer.
-
+ No documentation.
- ee418225IDirectSoundFXFlangerIDirectSoundFXFlanger
@@ -2639,46 +2427,38 @@
- The SetAllParameters method sets the flange parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxflanger8.idirectsoundfxflanger8.setallparametersHRESULT IDirectSoundFXFlanger::SetAllParameters([In] const DSFXFlanger* pcDsFxFlanger)IDirectSoundFXFlanger::SetAllParameters
- The GetAllParameters method retrieves the flange parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxflanger8.idirectsoundfxflanger8.getallparametersHRESULT IDirectSoundFXFlanger::GetAllParameters([Out] DSFXFlanger* pDsFxFlanger)IDirectSoundFXFlanger::GetAllParameters
- The GetAllParameters method retrieves the flange parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxflanger8.idirectsoundfxflanger8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXFlanger::GetAllParameters([Out] DSFXFlanger* pDsFxFlanger)
-
The IDirectSoundFullDuplex8 interface represents a full-duplex stream.
The interface is obtained by using the DirectSoundFullDuplexCreate8 function. This function initializes DirectSound capture and playback.
The interface can also be obtained by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSoundFullDuplex8.
IDirectSoundFullDuplex8 is a define for . The interface names are interchangeable.
In addition to the methods inherited from , the IDirectSoundFullDuplex8 interface exposes the following method.
IDirectSoundFullDuplex8 Members
Method
-
Description
-
IDirectSoundFullDuplex8::Initialize
The Initialize method initializes a full duplex object that was created by using CoCreateInstance.
-
The LPDIRECTSOUNDFULLDUPLEX type is defined as a reference to .
typedef struct *LPDIRECTSOUNDFULLDUPLEX;
-
Info
Operating System: Requires Microsoft Windows XP or later.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
+ No documentation.
- ee418204IDirectSoundFullDuplexIDirectSoundFullDuplex
@@ -2712,14 +2492,9 @@
-
The IDirectSoundFXGargle8 interface is used to set and retrieve effect parameters on a buffer that supports amplitude modulation.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXGargle8 interface exposes the following methods.
IDirectSoundFXGargle8 Members
Method
-
Description
-
IDirectSoundFXGargle8::GetAllParameters
The GetAllParameters method retrieves the amplitude modulation parameters of a buffer.
-
IDirectSoundFXGargle8::SetAllParameters
The SetAllParameters method sets the amplitude modulation parameters of a buffer.
-
+ No documentation.
- ee418228IDirectSoundFXGargleIDirectSoundFXGargle
@@ -2770,92 +2545,70 @@
- The SetAllParameters method sets the amplitude modulation parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value can be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxgargle8.idirectsoundfxgargle8.setallparametersHRESULT IDirectSoundFXGargle::SetAllParameters([In] const DSFXGargle* pcDsFxGargle)IDirectSoundFXGargle::SetAllParameters
- The GetAllParameters method retrieves the amplitude modulation parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value can be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxgargle8.idirectsoundfxgargle8.getallparametersHRESULT IDirectSoundFXGargle::GetAllParameters([Out] DSFXGargle* pDsFxGargle)IDirectSoundFXGargle::GetAllParameters
- The GetAllParameters method retrieves the amplitude modulation parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxgargle8.idirectsoundfxgargle8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXGargle::GetAllParameters([Out] DSFXGargle* pDsFxGargle)
- The structure contains parameters for acoustic echo cancellation in a capture buffer.
+ No documentation.
-
-
The dwMode member is ignored when this structure is passed to IDirectSoundCaptureFXAec8::SetAllParameters.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Boolean value that specifies whether the effect is enabled.
+ No documentation.
- microsoft.directx_sdk.reference.dscfxaecDSCFX_AEC_MODE_PASS_THROUGHDSCFX_AEC_MODE_PASS_THROUGH
-
Boolean value that specifies whether to enable background comfort noise, which makes the capture signal sound more natural by preventing periods of dead silence. By default, background comfort noise is not enabled.
+ No documentation.
- microsoft.directx_sdk.reference.dscfxaecDSCFX_AEC_MODE_HALF_DUPLEXDSCFX_AEC_MODE_HALF_DUPLEX
-
Operation mode. This member contains one of the following values.
Value
-
Description
-
-
The effect is passing capture and render data through without modifying it.
-
-
The effect is running in half duplex mode. Not presently supported.
-
-
The effect is running in full duplex mode.
-
+ No documentation.
- microsoft.directx_sdk.reference.dscfxaecDSCFX_AEC_MODE_FULL_DUPLEXDSCFX_AEC_MODE_FULL_DUPLEX
-
The KSPROPERTY_AEC_STATUS property is used to monitor the status of an AEC node (KSNODETYPE_ACOUSTIC_ECHO_CANCEL). This is an optional property of an AEC node.
+ No documentation.
-
-
The three least significant bits in the AEC status flags (see preceding table) represent the convergence history (CH) of the AEC algorithm. The CH status bits can be used by a Microsoft DirectSound application to determine whether the algorithm has converged and also whether it has remained in the converged state since the time that it started processing data. Depending on the audio hardware, the AEC algorithm might fail to converge, in which case the resulting capture buffer is likely to include the echo from the speakers.
When the filter containing the AEC node is created or the node is reset, the AEC algorithm initially sets the three CH status bits to zero. This setting represents the uninitialized state, AEC_STATUS_FD_HISTORY_UNINITIALIZED.
After the AEC algorithm converges, the CH status switches to the converged state, AEC_STATUS_FD_HISTORY_CONTINUOUSLY_CONVERGED. If the AEC algorithm ever loses convergence, the CH status switches to the diverged state, AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED. Although the status is most likely to switch to the diverged state from the converged state, it might also switch directly from the uninitialized state to the diverged state. After the CH status has switched to the diverged state, it will remain in that state until the algorithm is reset or starvation is detected.
When the AEC system filter detects starvation at any of its four pins--capture in, capture out, render in, or render out--it resets its internal state, including the convergence history.
Note that bit 2 of the three CH status bits is not currently used.
As an alternative to using the CH status bits, the application can monitor the real-time convergence status by checking the AEC_STATUS_FD_CURRENTLY_CONVERGED flag bit. If this bit is set, the algorithm is currently converged. The algorithm can lose convergence temporarily when changes occur in the acoustic path. The real-time convergence flag is filtered to prevent such momentary losses from inappropriately switching the CH status bits to the DSCFX_AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED state.
-
- ff537230DSCFX_AEC_STATUSDSCFX_AEC_STATUS
@@ -2864,7 +2617,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_HISTORY_UNINITIALIZEDDSCFX_AEC_STATUS_HISTORY_UNINITIALIZED
@@ -2873,7 +2625,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGEDDSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED
@@ -2882,7 +2633,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGEDDSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED
@@ -2891,7 +2641,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_CURRENTLY_CONVERGEDDSCFX_AEC_STATUS_CURRENTLY_CONVERGED
@@ -3105,13 +2854,9 @@
- The structure describes the capabilities of a device. It is used by theIDirectSound8::GetCapsmethod.
+ No documentation.
-
-
Some audio cards may be unable to report accurately the number of available or free hardware buffers. This can happen, for example, when the card can play more sounds at lower sampling rates than at higher rates. In general, a nonzero value in any of the members relating to number of free hardware buffers signifies that at least one hardware resource of the appropriate type is available.
The unlock transfer rate for software buffers is 0, because the data need not be transferred anywhere. Similarly, the play processing overhead for hardware buffers is 0 because the mixing is done by the sound device.
-
- microsoft.directx_sdk.reference.dscapsDSCAPS_FLAGSDSCAPS_FLAGS
@@ -3120,7 +2865,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARYMONODSCAPS_PRIMARYMONO
@@ -3129,7 +2873,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARYSTEREODSCAPS_PRIMARYSTEREO
@@ -3138,7 +2881,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARY8BITDSCAPS_PRIMARY8BIT
@@ -3147,7 +2889,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARY16BITDSCAPS_PRIMARY16BIT
@@ -3156,7 +2897,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_CONTINUOUSRATEDSCAPS_CONTINUOUSRATE
@@ -3165,7 +2905,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_EMULDRIVERDSCAPS_EMULDRIVER
@@ -3174,7 +2913,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_CERTIFIEDDSCAPS_CERTIFIED
@@ -3183,7 +2921,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARYMONODSCAPS_SECONDARYMONO
@@ -3192,7 +2929,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARYSTEREODSCAPS_SECONDARYSTEREO
@@ -3201,7 +2937,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARY8BITDSCAPS_SECONDARY8BIT
@@ -3210,7 +2945,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARY16BITDSCAPS_SECONDARY16BIT
@@ -3288,10 +3022,9 @@
- The structure describes the capabilities of the capture device. It is used by theIDirectSoundCapture8::GetCapsmethod.
+ No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_FLAGSDSCCAPS_FLAGS
@@ -3300,7 +3033,6 @@
No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_EMULDRIVERDSCCAPS_EMULDRIVER
@@ -3309,7 +3041,6 @@
No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_CERTIFIEDDSCCAPS_CERTIFIED
@@ -3318,7 +3049,6 @@
No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_MULTIPLECAPTUREDSCCAPS_MULTIPLECAPTURE
@@ -3332,41 +3062,25 @@
- The structure contains parameters for an effect associated with a capture buffer.
+ No documentation.
- microsoft.directx_sdk.reference.dsceffectdescDSCFX_ENUMDSCFX_ENUM
-
Size of the structure, in bytes.
+ No documentation.
- microsoft.directx_sdk.reference.dsceffectdescDSCFX_LOCHARDWAREDSCFX_LOCHARDWARE
-
Flags that specify desired parameters of the effect. When this structure is passed to DirectSoundFullDuplexCreate8, or IDirectSoundCapture8::CreateCaptureBuffer, this member must be one of the values shown in the following table.
-
Value
-
Description
-
-
Effect specified by guidDSCFXInstance must be in hardware.
-
-
Effect specified by guidDSCFXInstance must be in software.
-
On return, this member can contain one of the values shown in the following table.
Value
-
Description
-
-
Effect was created in hardware.
-
-
Effect was created in software.
-
+ No documentation.
- microsoft.directx_sdk.reference.dsceffectdescDSCFX_LOCSOFTWAREDSCFX_LOCSOFTWARE
@@ -3764,27 +3478,17 @@
- The GetMode method retrieves the operation mode for 3D sound processing.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODEDS3DMODE
-
Address of a variable that receives the mode setting. This value will be one of those in the following table.
Value
-
Description
-
-
Processing of 3D sound is disabled. The sound seems to originate from the center of the listener's head.
-
-
Sound parameters (position, velocity, and orientation) are relative to the listener's parameters. In this mode, the absolute parameters of the sound are updated automatically as the listener's parameters change, so that the relative parameters remain constant.
-
-
Normal processing. This is the default mode.
-
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODE_NORMALDS3DMODE_NORMAL
@@ -3793,7 +3497,6 @@
No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODE_HEADRELATIVEDS3DMODE_HEADRELATIVE
@@ -3802,7 +3505,6 @@
No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODE_DISABLEDS3DMODE_DISABLE
@@ -4169,41 +3871,35 @@
- The DirectSoundEnumerate function enumerates the DirectSound drivers installed in the system.
+ No documentation.
-
Address of the DSEnumCallback function that will be called for each device installed in the system.
-
Address of the user-defined context passed to the enumeration callback function every time that function is called.
-
If the function succeeds, it returns DS_OK. If it fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.reference.directsoundenumerateHRESULT DirectSoundEnumerateA([In] __function__stdcall* pDSEnumCallback,[In, Optional] void* pContext)DirectSoundEnumerateA
- The DirectSoundEnumerate function enumerates the DirectSound drivers installed in the system.
+ No documentation.
-
Address of the DSEnumCallback function that will be called for each device installed in the system.
-
Address of the user-defined context passed to the enumeration callback function every time that function is called.
-
If the function succeeds, it returns DS_OK. If it fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.reference.directsoundenumerateHRESULT DirectSoundEnumerateW([In] __function__stdcall* pDSEnumCallback,[In, Optional] void* pContext)DirectSoundEnumerateW
- The DirectSoundCaptureCreate8 function creates and initializes an object that supports the IDirectSoundCapture8 interface. Although the olderDirectSoundCaptureCreatefunction can also be used to obtain theIDirectSoundCapture8interface, the object created by that function cannot be used to create capture buffers that support theIDirectSoundCaptureBuffer8interface.
+ No documentation.
No documentation.
No documentation.
No documentation.
-
If the function succeeds, it returns DS_OK. If it fails, the return value may be one of the following values.
Return Code
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_OUTOFMEMORY
-
-
On sound cards that do not support full duplex, this method will fail and return DSERR_ALLOCATED.
The IDirectSoundCaptureFXAec8 interface is used to set and retrieve parameters on a capture buffer that supports acoustic echo cancellation. This interface requires Microsoft Windows XP or later operating systems.
IDirectSoundCaptureFXAec8 is a define for . The interface names are interchangeable.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundCaptureFXAec8 interface exposes the following methods.
IDirectSoundCaptureFXAec8 Members
Method
-
Description
-
IDirectSoundCaptureFXAec8::GetAllParameters
The IDirectSoundCaptureFXAec8::GetAllParameters method retrieves the acoustic echo cancellation parameters of a buffer.
-
IDirectSoundCaptureFXAec8::GetStatus
The IDirectSoundCaptureFXAec8::GetStatus method retrieves the status of the effect.
-
IDirectSoundCaptureFXAec8::Reset
The IDirectSoundCaptureFXAec8::Reset method resets the effect to its initial state.
-
IDirectSoundCaptureFXAec8::SetAllParameters
The IDirectSoundCaptureFXAec8::SetAllParameters method sets the acoustic echo cancellation parameters of a buffer.
-
The LPDIRECTSOUNDCAPTUREFXAEC8 type is defined as a reference to the IDirectSoundCaptureFXAec8 interface:
Operating System: Requires Microsoft WindowsXP or later.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
+ No documentation.
- ee418187IDirectSoundCaptureFXAecIDirectSoundCaptureFXAec
@@ -4368,29 +4056,21 @@
- The SetAllParameters method sets the acoustic echo cancellation parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values.
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxaec8.idirectsoundcapturefxaec8.setallparametersHRESULT IDirectSoundCaptureFXAec::SetAllParameters([In] const DSCFXAec* pDscFxAec)IDirectSoundCaptureFXAec::SetAllParameters
- The GetAllParameters method retrieves the acoustic echo cancellation parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values.
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxaec8.idirectsoundcapturefxaec8.getallparametersHRESULT IDirectSoundCaptureFXAec::GetAllParameters([Out] DSCFXAec* pDscFxAec)IDirectSoundCaptureFXAec::GetAllParameters
@@ -4404,7 +4084,7 @@
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
The three least significant bits in *pdwStatus describe the convergence history; that is, the success of the effect in canceling the echo. The convergence history can be used by the application to determine if the algorithm has converged and remained in the converged state since it started processing data.
Initially, the AEC algorithm sets the three lower bits to 0 for the uninitialized state (). When the AEC algorithm has converged, the convergence history is switched to the state. If the AEC algorithm ever loses convergence, the convergence history is then transitioned to the state. A transition from to is also possible. The convergence history remains in the state until the algorithm is reset or timely data is no longer arriving on the capture or render stream.
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Applications should not reset an effect except when necessary because it has entered an incorrect state. This might be done in response to user input. An effect must not be reset arbitrarily at startup, because another application might be using the same effect.
- microsoft.directx_sdk.idirectsoundcapturefxaec8.idirectsoundcapturefxaec8.reset
+ ee418192HRESULT IDirectSoundCaptureFXAec::Reset()IDirectSoundCaptureFXAec::Reset
- The GetAllParameters method retrieves the acoustic echo cancellation parameters of a buffer.
+ No documentation.
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
The three least significant bits in *pdwStatus describe the convergence history; that is, the success of the effect in canceling the echo. The convergence history can be used by the application to determine if the algorithm has converged and remained in the converged state since it started processing data.
Initially, the AEC algorithm sets the three lower bits to 0 for the uninitialized state (). When the AEC algorithm has converged, the convergence history is switched to the state. If the AEC algorithm ever loses convergence, the convergence history is then transitioned to the state. A transition from to is also possible. The convergence history remains in the state until the algorithm is reset or timely data is no longer arriving on the capture or render stream.
The IDirectSoundCaptureFXNoiseSuppress8 interface is used to set and retrieve parameters on a capture buffer that supports noise suppression. This interface requires Microsoft WindowsXP or later.
IDirectSoundCaptureFXNoiseSuppress8 is a define for . The interface names are interchangeable.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundCaptureFXNoiseSuppress8 interface exposes the following methods.
Operating System: Requires Microsoft WindowsXP or later.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
+ No documentation.
- ee418197IDirectSoundCaptureFXNoiseSuppressIDirectSoundCaptureFXNoiseSuppress
@@ -4770,29 +4439,21 @@
- The SetAllParameters method sets the noise suppression parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values:
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxnoisesuppress8.idirectsoundcapturefxnoisesuppress8.setallparametersHRESULT IDirectSoundCaptureFXNoiseSuppress::SetAllParameters([In] const DSCFXNoiseSuppress* pcDscFxNoiseSuppress)IDirectSoundCaptureFXNoiseSuppress::SetAllParameters
- The GetAllParameters method retrieves the noise suppression parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values:
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxnoisesuppress8.idirectsoundcapturefxnoisesuppress8.getallparametersHRESULT IDirectSoundCaptureFXNoiseSuppress::GetAllParameters([Out] DSCFXNoiseSuppress* pDscFxNoiseSuppress)IDirectSoundCaptureFXNoiseSuppress::GetAllParameters
@@ -4805,19 +4466,15 @@
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Applications should not reset an effect except when necessary because it has entered an incorrect state. This might be done in response to user input. An effect must not be reset arbitrarily at startup, because another application might be using the same effect.
- microsoft.directx_sdk.idirectsoundcapturefxnoisesuppress8.idirectsoundcapturefxnoisesuppress8.reset
+ ee418201HRESULT IDirectSoundCaptureFXNoiseSuppress::Reset()IDirectSoundCaptureFXNoiseSuppress::Reset
- The GetAllParameters method retrieves the noise suppression parameters of a buffer.
+ No documentation.
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
The IDirectSoundFXParamEq8 interface is used to set and retrieve effect parameters on a buffer that supports parametric equalizer effects.
In addition to the methods inherited from , the IDirectSoundFXParamEq8 interface exposes the following methods.
IDirectSoundFXParamEq8 Members
Method
-
Description
-
IDirectSoundFXParamEq8::GetAllParameters
The GetAllParameters method retrieves the parametric equalizer parameters of a buffer.
-
IDirectSoundFXParamEq8::SetAllParameters
The SetAllParameters method sets the parametric equalizer parameters of a buffer.
-
+ No documentation.
- ee418238IDirectSoundFXParamEqIDirectSoundFXParamEq
@@ -4907,110 +4559,42 @@
Address of a structure that specifies the effect parameters.
If the method succeeds, the return value is DS_OK or S_FALSE. See the Remarks for . If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxparameq8.idirectsoundfxparameq8.setallparameters
+ ee418240HRESULT IDirectSoundFXParamEq::SetAllParameters([In] const DSFXParamEq* pcDsFxParamEq)IDirectSoundFXParamEq::SetAllParameters
- The GetAllParameters method retrieves the parametric equalizer parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxparameq8.idirectsoundfxparameq8.getallparametersHRESULT IDirectSoundFXParamEq::GetAllParameters([Out] DSFXParamEq* pDsFxParamEq)IDirectSoundFXParamEq::GetAllParameters
- The GetAllParameters method retrieves the parametric equalizer parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxparameq8.idirectsoundfxparameq8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXParamEq::GetAllParameters([Out] DSFXParamEq* pDsFxParamEq)
-
The interface is used to manage sound buffers.
The interface supersedes and adds new methods.
To obtain the interface, use the CreateSoundBuffer method to retrieve , and then pass IID_IDirectSoundBuffer8 to IDirectSoundBuffer::QueryInterface.
For the primary buffer, you must use the interface; is not available. is not documented separately. For documentation, see the corresponding methods.
Not all methods of are valid for primary buffers. For example, SetCurrentPosition will fail. See the reference topics for individual methods.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Effects
Method
-
Description
-
The GetObjectInPath method retrieves an interface for an effect object associated with the buffer.
-
Number of elements in the pDSFXDesc and pdwResultCodes arrays. If this value is 0, pDSFXDesc and pdwResultCodes must both be null. Set to 0 to remove all effects from the buffer.
-
Resource Management
Method
-
Description
-
The AcquireResources method allocates resources for a buffer that was created with the flag in the DSBUFFERDESCDSBUFFERDESC
-
IDirectSoundBuffer8::Restore
The Restore method restores the memory allocation for a lost sound buffer.
-
Play Management
Method
-
Description
-
IDirectSoundBuffer8::GetCurrentPosition
The GetCurrentPosition method retrieves the position of the play and write cursors in the sound buffer.
-
IDirectSoundBuffer8::Lock
The Lock method readies all or part of the buffer for a data write and returns references to which data can be written.
-
IDirectSoundBuffer8::Play
The Play method causes the sound buffer to play, starting at the play cursor.
-
IDirectSoundBuffer8::SetCurrentPosition
The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
-
IDirectSoundBuffer8::Stop
The Stop method causes the sound buffer to stop playing.
-
IDirectSoundBuffer8::Unlock
The Unlock method releases a locked sound buffer.
-
Sound Parameters
Method
-
Description
-
IDirectSoundBuffer8::GetFrequency
The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
-
IDirectSoundBuffer8::GetPan
The GetPan method retrieves the relative volume of the left and right audio channels.
-
IDirectSoundBuffer8::GetVolume
The GetVolume method retrieves the attenuation of the sound.
-
IDirectSoundBuffer8::SetFrequency
The SetFrequency method sets the frequency at which the audio samples are played.
-
IDirectSoundBuffer8::SetPan
The SetPan method sets the relative volume of the left and right channels.
-
IDirectSoundBuffer8::SetVolume
The SetVolume method sets the attenuation of the sound.
-
Miscellaneous
Method
-
Description
-
IDirectSoundBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer object.
-
IDirectSoundBuffer8::GetFormat
The GetFormat method retrieves a description of the format of the sound data in the buffer, or the buffer size needed to retrieve the format description.
-
IDirectSoundBuffer8::GetStatus
The GetStatus method retrieves the status of the sound buffer.
-
IDirectSoundBuffer8::Initialize
The Initialize method initializes a sound buffer object if it has not yet been initialized.
-
IDirectSoundBuffer8::SetFormat
The SetFormat method sets the format of the primary buffer. Whenever this application has the input focus, DirectSound will set the primary buffer to the specified format.
-
The LPDIRECTSOUNDBUFFER8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDBUFFER8;
-
+ No documentation.
- ee418055IDirectSoundBuffer8IDirectSoundBuffer8
-
The interface is used to manage sound buffers.
The interface supersedes and adds new methods.
To obtain the interface, use the CreateSoundBuffer method to retrieve , and then pass IID_IDirectSoundBuffer8 to IDirectSoundBuffer::QueryInterface.
For the primary buffer, you must use the interface; is not available. is not documented separately. For documentation, see the corresponding methods.
Not all methods of are valid for primary buffers. For example, SetCurrentPosition will fail. See the reference topics for individual methods.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Effects
Method
-
Description
-
The GetObjectInPath method retrieves an interface for an effect object associated with the buffer.
-
Number of elements in the pDSFXDesc and pdwResultCodes arrays. If this value is 0, pDSFXDesc and pdwResultCodes must both be null. Set to 0 to remove all effects from the buffer.
-
Resource Management
Method
-
Description
-
The AcquireResources method allocates resources for a buffer that was created with the flag in the DSBUFFERDESCDSBUFFERDESC
-
IDirectSoundBuffer8::Restore
The Restore method restores the memory allocation for a lost sound buffer.
-
Play Management
Method
-
Description
-
IDirectSoundBuffer8::GetCurrentPosition
The GetCurrentPosition method retrieves the position of the play and write cursors in the sound buffer.
-
IDirectSoundBuffer8::Lock
The Lock method readies all or part of the buffer for a data write and returns references to which data can be written.
-
IDirectSoundBuffer8::Play
The Play method causes the sound buffer to play, starting at the play cursor.
-
IDirectSoundBuffer8::SetCurrentPosition
The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
-
IDirectSoundBuffer8::Stop
The Stop method causes the sound buffer to stop playing.
-
IDirectSoundBuffer8::Unlock
The Unlock method releases a locked sound buffer.
-
Sound Parameters
Method
-
Description
-
IDirectSoundBuffer8::GetFrequency
The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
-
IDirectSoundBuffer8::GetPan
The GetPan method retrieves the relative volume of the left and right audio channels.
-
IDirectSoundBuffer8::GetVolume
The GetVolume method retrieves the attenuation of the sound.
-
IDirectSoundBuffer8::SetFrequency
The SetFrequency method sets the frequency at which the audio samples are played.
-
IDirectSoundBuffer8::SetPan
The SetPan method sets the relative volume of the left and right channels.
-
IDirectSoundBuffer8::SetVolume
The SetVolume method sets the attenuation of the sound.
-
Miscellaneous
Method
-
Description
-
IDirectSoundBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer object.
-
IDirectSoundBuffer8::GetFormat
The GetFormat method retrieves a description of the format of the sound data in the buffer, or the buffer size needed to retrieve the format description.
-
IDirectSoundBuffer8::GetStatus
The GetStatus method retrieves the status of the sound buffer.
-
IDirectSoundBuffer8::Initialize
The Initialize method initializes a sound buffer object if it has not yet been initialized.
-
IDirectSoundBuffer8::SetFormat
The SetFormat method sets the format of the primary buffer. Whenever this application has the input focus, DirectSound will set the primary buffer to the specified format.
-
The LPDIRECTSOUNDBUFFER8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDBUFFER8;
-
+ No documentation.
- ee418055IDirectSoundBufferIDirectSoundBuffer
@@ -5031,15 +4615,11 @@
- The GetCaps method retrieves the capabilities of the buffer object.
+ No documentation.
-
Address of a structure to contain the capabilities of this sound buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
The structure contains similar information to the structure passed to the CreateSoundBuffer method, with some additional information. This additional information can include the buffer's location, either in hardware or software, and performance measures.
The flags specified in the dwFlags member of the structure are the same flags used by the structure. The only difference is that in the structure, either or will be specified according to the location of the buffer memory. In the structure, these flags are optional and, depending on which flag is specified, force the buffer to be located in either hardware or software.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getcapsHRESULT IDirectSoundBuffer::GetCaps([Out] DSBCAPS* pDSBufferCaps)IDirectSoundBuffer::GetCaps
@@ -5054,7 +4634,7 @@
The write cursor is the point in the buffer ahead of which it is safe to write data to the buffer. Data should not be written to the part of the buffer after the play cursor and before the write cursor.
The format structure can have a variable length that depends on the format. Before retrieving the format description, the application should query the buffer object for the size of the format by calling this method and specifying null for the pwfxFormat parameter. The necessary size of the structure is returned in the pdwSizeWritten parameter. The application can then allocate sufficient memory and call GetFormat again to retrieve the format description.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getformat
+ ee418064HRESULT IDirectSoundBuffer::GetFormat([Out, Buffer, Optional] WAVEFORMATEX* pwfxFormat,[In] unsigned int dwSizeAllocated,[Out, Optional] unsigned int* pdwSizeWritten)IDirectSoundBuffer::GetFormat
- The GetVolume method retrieves the attenuation of the sound.
+ No documentation.
-
Address of a variable that receives the attenuation, in hundredths of a decibel.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The return value is between and . These values are defined as 0 and ?10,000, respectively. The value represents the original, unadjusted volume of the sound. The value indicates an audio volume attenuated by 100 dB, which, for practical purposes, is silence.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getvolumeHRESULT IDirectSoundBuffer::GetVolume([Out] int* plVolume)IDirectSoundBuffer::GetVolume
- The GetPan method retrieves the relative volume of the left and right audio channels.
+ No documentation.
-
Address of a variable that receives the relative volume, in hundredths of a decibel.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The returned value is measured in hundredths of a decibel (dB), in the range of DSBPAN_LEFT to DSBPAN_RIGHT. These values are defined in Dsound.h as -10,000 and 10,000 respectively. The value DSBPAN_LEFT means the right channel is effectively silent. The value DSBPAN_RIGHT means the left channel is effectively silent. The neutral value is DSBPAN_CENTER, defined as 0, which means that both channels are at full volume. When one channel is attenuated, the other remains at full volume.
The pan control acts cumulatively with the volume control.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getpanHRESULT IDirectSoundBuffer::GetPan([Out] int* plPan)IDirectSoundBuffer::GetPan
- The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
+ No documentation.
-
Address of a variable that receives the frequency at which the audio buffer is being played, in hertz.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The frequency value for software buffers is in the range of DSBFREQUENCY_MIN to DSBFREQUENCY_MAX, defined in Dsound.h. Hardware buffers can return other values.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getfrequencyHRESULT IDirectSoundBuffer::GetFrequency([Out] unsigned int* pdwFrequency)IDirectSoundBuffer::GetFrequency
@@ -5126,87 +4694,56 @@
is set if the buffer is being heard. Because of latency, a call to Play or Stop might not immediately change the status.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getstatus
+ ee418070HRESULT IDirectSoundBuffer::GetStatus([Out] unsigned int* pdwStatus)IDirectSoundBuffer::GetStatus
- The Initialize method initializes a sound buffer object if it has not yet been initialized.
+ No documentation.
-
Address of the device object associated with this buffer.
-
Address of a structure that contains the values used to initialize this sound buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values.
Return code
DSERR_INVALIDPARAM
DSERR_ALREADYINITIALIZED
-
-
Because the CreateSoundBuffer method calls Initialize internally, applications do not need to call this method.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.initializeHRESULT IDirectSoundBuffer::Initialize([In] IDirectSound* pDirectSound,[In] const DSBUFFERDESC* pcDSBufferDesc)IDirectSoundBuffer::Initialize
- The Lock method readies all or part of the buffer for a data write and returns references to which data can be written.
+ No documentation.
-
Offset, in bytes, from the start of the buffer to the point where the lock begins. This parameter is ignored if is specified in the dwFlags parameter.
-
Size, in bytes, of the portion of the buffer to lock. The buffer is conceptually circular, so this number can exceed the number of bytes between dwOffset and the end of the buffer.
-
Address of a variable that receives a reference to the first locked part of the buffer.
-
Address of a variable that receives the number of bytes in the block at ppvAudioPtr1. If this value is less than dwBytes, the lock has wrapped and ppvAudioPtr2 points to a second block of data at the beginning of the buffer.
-
Address of a variable that receives a reference to the second locked part of the capture buffer. If null is returned, the ppvAudioPtr1 parameter points to the entire locked portion of the capture buffer.
-
Address of a variable that receives the number of bytes in the block at ppvAudioPtr2. If ppvAudioPtr2 is null, this value is zero.
-
Flags modifying the lock event. The following flags are defined:
Value
Description
Start the lock at the write cursor. The dwOffset parameter is ignored.
Lock the entire buffer. The dwBytes parameter is ignored.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
This method accepts an offset and a byte count, and returns two write references and their associated sizes. If the locked portion does not extend to the end of the buffer and wrap to the beginning, the second reference, ppvAudioBytes2, receives null. If the lock does wrap, ppvAudioBytes2 points to the beginning of the buffer.
If the application passes null for the ppvAudioPtr2 and pdwAudioBytes2 parameters, the lock extends no further than the end of the buffer and does not wrap.
After writing data to the references returned by this method, the application must immediately call Unlock to notify DirectSound that the data is ready for playback. Failure to do so can cause audio breakup or silence on some sound device configurations.
This method returns write references only. The application should not try to read sound data from this reference, because the data might not be valid. For example, if the buffer is located in on-card memory, the reference might be an address to a temporary buffer in system memory. When IDirectSoundBuffer8::Unlock is called, the contents of this temporary buffer are transferred to the on-card memory.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.lockHRESULT IDirectSoundBuffer::Lock([In] unsigned int dwOffset,[In] unsigned int dwBytes,[Out] void** ppvAudioPtr1,[Out] unsigned int* pdwAudioBytes1,[Out] void** ppvAudioPtr2,[Out, Optional] unsigned int* pdwAudioBytes2,[In] DSBLOCK_ENUM dwFlags)IDirectSoundBuffer::Lock
- The Play method causes the sound buffer to play, starting at the play cursor.
+ No documentation.
-
Reserved. Must be 0.
-
Priority for the sound, used by the voice manager when assigning hardware mixing resources. The lowest priority is 0, and the highest priority is 0xFFFFFFFF. If the buffer was not created with the flag, this value must be 0.
-
Flags specifying how to play the buffer. The following flags are defined:
Looping flag
Value
Description
After the end of the audio buffer is reached, play restarts at the beginning of the buffer. Play continues until explicitly stopped. This flag must be set when playing a primary buffer.
Voice allocation flags
The voice allocation flags are valid only for buffers created with the flag. One of the following flags can be used to force the processing of the sound into hardware or software. If neither DBSPLAY_LOCHARDWARE nor DBSPLAY_LOCSOFTWARE is set, the sound is played in either software or hardware, depending on the availability of resources at the time the method is called. See Remarks.
Value
Description
Play this voice in a hardware buffer only. If the hardware has no available voices and no voice management flags are set, the call to IDirectSoundBuffer8::Play fails. This flag cannot be combined with .
Play this voice in a software buffer only. This flag cannot be combined with or any voice management flag.
Voice management flags
The voice management flags are valid only for buffers created with the flag, and are used for sounds that are to play in hardware. These flags enable hardware resources that are already in use to be yielded to the current sound. Only buffers created with the flag are candidates for premature termination. See Remarks.
Value
Description
If the hardware has no available voices, a currently playing nonlooping buffer will be stopped to make room for the new buffer. The buffer prematurely terminated is the one with the least time left to play.
If the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer. The buffer prematurely terminated will be selected from buffers that have the buffer's DSBCAPS_ MUTE3DATMAXDISTANCE flag set and are beyond their maximum distance. If there are no such buffers, the method fails.
If the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer. The buffer prematurely terminated will be the one with the lowest priority as set by the dwPriority parameter passed to IDirectSoundBuffer8::Play for the buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
If SetCooperativeLevel has not been called, the method returns DS_OK, but no sound will be produced until a cooperative level has been set.
If the application is multithreaded, the thread that plays the buffer must continue to exist as long as the buffer is playing. Buffers created on WDM drivers stop playing when the thread is terminated.
If the buffer specified in the method is already playing, the call to the method succeeds and the buffer continues to play. However, the flags defined in the most recent call supersede flags defined in previous calls.
When called on the primary buffer, this method causes the buffer to start playing to the sound device. If the application has set the cooperative level, any audio data put in the primary buffer by the application is sent to the sound device. Under any other cooperative level, the primary buffer plays silence if no secondary buffers are playing. Primary buffers must be played with the flag set.
If the method is called with a voice allocation or voice management flag set on a buffer that was not created with the flag, the call fails with DSERR_INVALIDPARAM.
and cannot be combined, but either may be combined with , in which case the or flag is used to determine which buffer should be terminated in the event of a priority tie.
The following table shows the behavior of the method under various combinations of the voice allocation and voice management flags when no free hardware voices are available.
-
Neither nor
-
-
-
Sound with least time left to play is terminated and the new sound plays on the released voice.
-
Sound with least time left to play is terminated and the new sound plays on the released voice.
-
New sound plays in software.
-
-
If any sounds currently playing in hardware are beyond their maximum distance and have the flag set, one of them is terminated and the new sound plays in hardware. Otherwise, the call fails.
-
If any sounds currently playing in hardware are beyond their maximum distance and have the flag set, one of them is terminated and the new sound plays in hardware. Otherwise, the new sound plays in software.
-
New sound plays in software.
-
-
If the new sound's priority is higher than or equal to that of any sound currently playing in hardware, one of the lowest-priority sounds is terminated and the new sound plays in hardware. Otherwise, the call fails.
-
If the new sound's priority is higher than or equal to that of any sound currently playing in hardware, one of the lowest-priority sounds is terminated and the new sound plays in hardware. Otherwise, the new sound plays in software.
-
New sound plays in software.
-
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.playHRESULT IDirectSoundBuffer::Play([In] unsigned int dwReserved1,[In] unsigned int dwPriority,[In] DSBPLAY_FLAGS dwFlags)IDirectSoundBuffer::Play
- The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
+ No documentation.
-
Offset of the play cursor, in bytes, from the beginning of the buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
This method cannot be called on the primary buffer.
If the buffer is playing, the cursor immediately moves to the new position and play continues from that point. If it is not playing, playback will begin from the new position the next time the Play method is called.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setcurrentpositionHRESULT IDirectSoundBuffer::SetCurrentPosition([In] unsigned int dwNewPosition)IDirectSoundBuffer::SetCurrentPosition
@@ -5220,7 +4757,7 @@
The format of the primary buffer should be set before secondary buffers are created.
The method fails if the application has the cooperative level.
If the application is using DirectSound at the cooperative level, and the format is not supported, the method fails.
If the cooperative level is , DirectSound stops the primary buffer, changes the format, and restarts the buffer. The method succeeds even if the hardware does not support the requested format; DirectSound sets the buffer to the closest supported format. To determine whether this has happened, an application can call the GetFormat method for the primary buffer and compare the result with the format that was requested with the SetFormat method.
This method is not available for secondary sound buffers. If a new format is required, the application must create a new DirectSoundBuffer object.
Allowable values are between (no attenuation) and (silence). These values are defined in Dsound.h as 0 and ?10,000 respectively. The value represents the original, unadjusted volume of the stream. The value indicates an audio volume attenuated by 100 dB, which, for all practical purposes, is silence. DirectSound does not support amplification.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setvolume
+ ee418150HRESULT IDirectSoundBuffer::SetVolume([In] int lVolume)IDirectSoundBuffer::SetVolume
- The SetPan method sets the relative volume of the left and right channels.
+ No documentation.
-
Relative volume between the left and right channels.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_GENERIC
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The returned value is measured in hundredths of a decibel (dB), in the range of DSBPAN_LEFT to DSBPAN_RIGHT. These values are defined in Dsound.h as -10,000 and 10,000 respectively. The value DSBPAN_LEFT means the right channel is attenuated by 100 dB and is effectively silent. The value DSBPAN_RIGHT means the left channel is silent. The neutral value is DSBPAN_CENTER, defined as 0, which means that both channels are at full volume. When one channel is attenuated, the other remains at full volume.
The pan control acts cumulatively with the volume control.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setpanHRESULT IDirectSoundBuffer::SetPan([In] int lPan)IDirectSoundBuffer::SetPan
@@ -5262,20 +4795,16 @@
Increasing or decreasing the frequency changes the perceived pitch of the audio data. This method does not affect the format of the buffer.
Before setting the frequency, you should ascertain whether the frequency is supported by checking the dwMinSecondarySampleRate and dwMaxSecondarySampleRate members of the structure for the device. Some operating systems do not support frequencies greater than 100,000 Hz.
This method is not valid for the primary buffer.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setfrequency
+ ee418143HRESULT IDirectSoundBuffer::SetFrequency([In] unsigned int dwFrequency)IDirectSoundBuffer::SetFrequency
- The Stop method causes the sound buffer to stop playing.
+ No documentation.
-
If the method succeeds, the return value is DS_OK. Returns an error code if the method fails.
-
-
For secondary sound buffers, IDirectSoundBuffer8::Stop sets the play cursor to the sample that follows the last sample played. This means that when the Play method is next called on the buffer, it will continue playing where it left off.
For the primary buffer, if an application has the level, this method will stop the buffer and reset the play cursor to 0 (the beginning of the buffer). This is necessary because the primary buffers on most sound cards can play only from the beginning of the buffer.
However, if IDirectSoundBuffer8::Stop is called on a primary buffer and the application has a cooperative level other than , this method simply reverses the effects of IDirectSoundBuffer8::Play. It configures the primary buffer to stop if no secondary buffers are playing. If other buffers are playing in this or other applications, the primary buffer will not actually stop until they are stopped. This method is useful because playing the primary buffer consumes processing overhead even if the buffer is playing sound data with the amplitude of 0 decibels.
An application must pass both references, pvAudioPtr1 and pvAudioPtr2, returned by the IDirectSoundBuffer8::Lock method to ensure the correct pairing of IDirectSoundBuffer8::Lock and IDirectSoundBuffer8::Unlock. The second reference is needed even if nothing was written to the second reference.
The values in dwAudioBytes1 and dwAudioBytes2 must specify the number of bytes actually written to each part of the buffer, which might be less than the size of the lock. DirectSound uses these values to determine how much data to commit to the device.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.unlock
+ ee418153HRESULT IDirectSoundBuffer::Unlock([In, Buffer] void* pvAudioPtr1,[In] unsigned int dwAudioBytes1,[In, Buffer, Optional] void* pvAudioPtr2,[In] unsigned int dwAudioBytes2)IDirectSoundBuffer::Unlock
- The Restore method restores the memory allocation for a lost sound buffer.
+ No documentation.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_PRIOLEVELNEEDED
-
-
If the application does not have the input focus, IDirectSoundBuffer8::Restore might not succeed. For example, if the application with the input focus has the cooperative level, no other application will be able to restore its buffers. Similarly, an application with the cooperative level must have the input focus to restore its primary buffer.
After DirectSound restores the buffer memory, the application must rewrite the buffer with valid sound data. DirectSound cannot restore the contents of the memory, only the memory itself.
The application can receive notification that a buffer is lost when it specifies that buffer in a call to the Lock or Play method. These methods return DSERR_BUFFERLOST to indicate a lost buffer. The GetStatus method can also be used to retrieve the status of the sound buffer and test for the flag.
-
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.restoreHRESULT IDirectSoundBuffer::Restore()IDirectSoundBuffer::Restore
@@ -5361,52 +4886,36 @@
- The GetCaps method retrieves the capabilities of the buffer object.
+ No documentation.
-
-
The structure contains similar information to the structure passed to the CreateSoundBuffer method, with some additional information. This additional information can include the buffer's location, either in hardware or software, and performance measures.
The flags specified in the dwFlags member of the structure are the same flags used by the structure. The only difference is that in the structure, either or will be specified according to the location of the buffer memory. In the structure, these flags are optional and, depending on which flag is specified, force the buffer to be located in either hardware or software.
-
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getcapsGetCapsGetCapsHRESULT IDirectSoundBuffer::GetCaps([Out] DSBCAPS* pDSBufferCaps)
- The GetVolume method retrieves the attenuation of the sound.
+ No documentation.
-
-
The return value is between and . These values are defined as 0 and ?10,000, respectively. The value represents the original, unadjusted volume of the sound. The value indicates an audio volume attenuated by 100 dB, which, for practical purposes, is silence.
-
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getvolumeGetVolume / SetVolumeGetVolumeHRESULT IDirectSoundBuffer::GetVolume([Out] int* plVolume)
- The GetPan method retrieves the relative volume of the left and right audio channels.
+ No documentation.
-
-
The returned value is measured in hundredths of a decibel (dB), in the range of DSBPAN_LEFT to DSBPAN_RIGHT. These values are defined in Dsound.h as -10,000 and 10,000 respectively. The value DSBPAN_LEFT means the right channel is effectively silent. The value DSBPAN_RIGHT means the left channel is effectively silent. The neutral value is DSBPAN_CENTER, defined as 0, which means that both channels are at full volume. When one channel is attenuated, the other remains at full volume.
The pan control acts cumulatively with the volume control.
-
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getpanGetPan / SetPanGetPanHRESULT IDirectSoundBuffer::GetPan([Out] int* plPan)
- The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
+ No documentation.
-
-
The frequency value for software buffers is in the range of DSBFREQUENCY_MIN to DSBFREQUENCY_MAX, defined in Dsound.h. Hardware buffers can return other values.
is set if the buffer is being heard. Because of latency, a call to Play or Stop might not immediately change the status.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getstatus
+ ee418070GetStatusGetStatusHRESULT IDirectSoundBuffer::GetStatus([Out] unsigned int* pdwStatus)
- The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
+ No documentation.
-
-
This method cannot be called on the primary buffer.
If the buffer is playing, the cursor immediately moves to the new position and play continues from that point. If it is not playing, playback will begin from the new position the next time the Play method is called.
The IDirectSoundNotify8 interface sets up notification events for a playback or capture buffer.
IDirectSoundNotify8 is a define for . The two interface names are interchangeable.
The interface is obtained by calling the QueryInterface method of an existing interface on a DirectSound buffer object. Secondary buffers support notifications only if they are created with the flag.
In addition to the methods inherited from , the IDirectSoundNotify8 interface exposes the following method.
IDirectSoundNotify8 Member
Method
-
Description
-
IDirectSoundNotify8::SetNotificationPositions
The SetNotificationPositions method sets the notification positions. During capture or playback, whenever the read or play cursor reaches one of the specified offsets, the associated event is signaled.
-
The LPDIRECTSOUNDNOTIFY type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDNOTIFY;
-
+ No documentation.
- ee418244IDirectSoundNotifyIDirectSoundNotify
@@ -5583,47 +5083,20 @@
- The SetNotificationPositions method sets the notification positions. During capture or playback, whenever the read or play cursor reaches one of the specified offsets, the associated event is signaled.
+ No documentation.
-
Number of structures.
-
Pointer to an array of structures (the maximum array size is DSBNOTIFICATIONS_MAX).
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
The value DSBPN_OFFSETSTOP can be specified in the dwOffset member to tell DirectSound to signal the associated event when the Stop or Stop method is called or when the end of the buffer has been reached and the playback is not looping. If it is used, this should be the last item in the position-notify array.
If a position-notify array has already been set, the method replaces the previous array.
The buffer must be stopped when this method is called.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundnotify8.idirectsoundnotify8.setnotificationpositionsHRESULT IDirectSoundNotify::SetNotificationPositions([In] unsigned int dwPositionNotifies,[In, Buffer] const DSBPOSITIONNOTIFY* pcPositionNotifies)IDirectSoundNotify::SetNotificationPositions
-
The IDirectSound3DListener8 interface is used to retrieve and set parameters that describe a listener's position, orientation, and listening environment in 3D space.
The interface can be obtained by calling the IDirectSoundBuffer8::QueryInterface method on a primary buffer created with the flag.
In addition to the methods inherited from , the IDirectSound3DListener8 interface exposes the following methods, arranged by category.
Batch Parameters
Method
-
Description
-
IDirectSound3DListener8::CommitDeferredSettings
The CommitDeferredSettings method commits any deferred settings made since the last call to this method.
-
IDirectSound3DListener8::GetAllParameters
The GetAllParameters method retrieves all 3D parameters of the sound environment and the listener.
-
IDirectSound3DListener8::SetAllParameters
The SetAllParameters method sets all 3D parameters of the sound environment and the listener.
-
Global Sound Properties
Method
-
Description
-
IDirectSound3DListener8::GetDistanceFactor
The GetDistanceFactor method retrieves the distance factor, which is the number of meters in a vector unit.
-
IDirectSound3DListener8::GetDopplerFactor
The GetDopplerFactor method retrieves the multiplier for the Doppler effect.
-
IDirectSound3DListener8::GetRolloffFactor
The GetRolloffFactor method retrieves the rolloff factor, which determines the rate of attenuation over distance.
-
IDirectSound3DListener8::SetDistanceFactor
The SetDistanceFactor method sets the distance factor, which is the number of meters in a vector unit.
-
IDirectSound3DListener8::SetDopplerFactor
The SetDopplerFactor method sets the multiplier for the Doppler effect.
-
IDirectSound3DListener8::SetRolloffFactor
The SetRolloffFactor method sets the rolloff factor, which determines the rate of attenuation over distance.
-
Listener Properties
Method
-
Description
-
IDirectSound3DListener8::GetOrientation
The GetOrientation method retrieves the orientation of the listener's head.
-
IDirectSound3DListener8::GetPosition
The GetPosition method retrieves the listener's position.
-
IDirectSound3DListener8::GetVelocity
The GetVelocity method retrieves the listener's velocity.
-
IDirectSound3DListener8::SetOrientation
The SetOrientation method sets the orientation of the listener's head.
-
IDirectSound3DListener8::SetPosition
The SetPosition method sets the listener's position.
-
IDirectSound3DListener8::SetVelocity
The SetVelocity method sets the listener's velocity.
-
The LPDIRECTSOUND3DLISTENER type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUND3DLISTENER;
-
+ No documentation.
- ee418003IDirectSound3DListenerIDirectSound3DListener
@@ -5689,23 +5162,21 @@
- The GetAllParameters method retrieves all 3D parameters of the sound environment and the listener.
+ No documentation.
-
Address of a structure that receives the state of the 3D world and listener.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getallparametersHRESULT IDirectSound3DListener::GetAllParameters([Out] DS3DLISTENER* pListener)IDirectSound3DListener::GetAllParameters
- The GetDistanceFactor method retrieves the distance factor, which is the number of meters in a vector unit.
+ No documentation.
-
Address of a variable that receives the distance factor value. D3DVALUE is defined as float.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getdistancefactorHRESULT IDirectSound3DListener::GetDistanceFactor([Out] float* pflDistanceFactor)IDirectSound3DListener::GetDistanceFactor
@@ -5719,36 +5190,28 @@
The Doppler factor has a range of DS3D_MINDOPPLERFACTOR (no Doppler effects) to DS3D_MAXDOPPLERFACTOR (defined as 10 times the Doppler effects found in the real world). The default value is DS3D_DEFAULTDOPPLERFACTOR (1.0).
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getdopplerfactor
+ ee418010HRESULT IDirectSound3DListener::GetDopplerFactor([Out] float* pflDopplerFactor)IDirectSound3DListener::GetDopplerFactor
- The GetOrientation method retrieves the orientation of the listener's head.
+ No documentation.
-
Address of a structure that receives the listener's front orientation vector.
-
Address of a structure that receives the listener's top orientation vector.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
The front vector points in the direction of the listener's nose, and the top vector points up from the top of the listener's head. By default, the front vector is (0,0,1.0) and the top vector is (0,1.0,0).
The values returned are not necessarily the same as those set by using SetOrientation. DirectSound normalizes orientation vectors so that they are at right angles and have a magnitude of less than or equal to 1.0.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getorientationHRESULT IDirectSound3DListener::GetOrientation([Out] D3DVECTOR* pvOrientFront,[Out] D3DVECTOR* pvOrientTop)IDirectSound3DListener::GetOrientation
- The GetPosition method retrieves the listener's position.
+ No documentation.
-
Address of a structure that receives the listener's position vector.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
By default, measurement units are meters, but this can be changed by calling the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getpositionHRESULT IDirectSound3DListener::GetPosition([Out] D3DVECTOR* pvPosition)IDirectSound3DListener::GetPosition
@@ -5762,7 +5225,7 @@
The rolloff factor has a range of DS3D_MINROLLOFFFACTOR (no rolloff) to DS3D_MAXROLLOFFFACTOR (defined as 10 times the rolloff found in the real world). The default value is DS3D_DEFAULTROLLOFFFACTOR (1.0). For more information, see Rolloff Factor.
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
The distance factor has a range of DS3D_MINDISTANCEFACTOR to DS3D_MAXDISTANCEFACTOR, defined in Dsound.h as FLT_MIN and FLT_MAX respectively. The default value is DS3D_DEFAULTDISTANCEFACTOR, or 1.0.
The Doppler factor has a range of DS3D_MINDOPPLERFACTOR (no Doppler effects) to DS3D_MAXDOPPLERFACTOR (defined as 10 times the Doppler effects found in the real world). The default value is DS3D_DEFAULTDOPPLERFACTOR (1.0).
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setdopplerfactor
+ ee418024HRESULT IDirectSound3DListener::SetDopplerFactor([In] float flDopplerFactor,[In] unsigned int dwApply)IDirectSound3DListener::SetDopplerFactor
- The SetOrientation method sets the orientation of the listener's head.
+ No documentation.
-
Value that specifies the x coordinate of the front orientation vector. D3DVALUE is defined as float.
-
Value that specifies the y coordinate of the front orientation vector. D3DVALUE is defined as float.
-
Value that specifies the z coordinate of the front orientation vector. D3DVALUE is defined as float.
-
Value that specifies the x coordinates of the top orientation vector.
-
Value that specifies the y coordinates of the top orientation vector.
-
Value that specifies the z coordinates of the top orientation vector.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
The front vector points in the direction of the listener's nose, and the top vector points up from the top of the listener's head. By default, the front vector is (0,0,1.0) and the top vector is (0,1.0,0).
The top vector must be at right angles to the front vector. If necessary, DirectSound adjusts the top vector after setting the front vector.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setorientationHRESULT IDirectSound3DListener::SetOrientation([In] float xFront,[In] float yFront,[In] float zFront,[In] float xTop,[In] float yTop,[In] float zTop,[In] unsigned int dwApply)IDirectSound3DListener::SetOrientation
- The SetPosition method sets the listener's position.
+ No documentation.
-
Value that specifies the x coordinate of the listener's position vector. Note that DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the y coordinate of the listener's position vector. Note that DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the z coordinate of the listener's position vector. Note that DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
By default, measurement units are meters, but this can be changed by calling the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setpositionHRESULT IDirectSound3DListener::SetPosition([In] float x,[In] float y,[In] float z,[In] unsigned int dwApply)IDirectSound3DListener::SetPosition
@@ -5870,24 +5325,20 @@
The rolloff factor has a range of DS3D_MINROLLOFFFACTOR (no rolloff) to DS3D_MAXROLLOFFFACTOR (defined as 10 times the rolloff found in the real world). The default value is DS3D_DEFAULTROLLOFFFACTOR (1.0). For more information, see Rolloff Factor.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setrollofffactor
+ ee418030HRESULT IDirectSound3DListener::SetRolloffFactor([In] float flRolloffFactor,[In] unsigned int dwApply)IDirectSound3DListener::SetRolloffFactor
- The SetVelocity method sets the listener's velocity.
+ No documentation.
-
Value that specifies the x coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the y coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the z coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
Velocity is used only for Doppler effects. It does not actually move the listener. To change the listener's position, use the SetPosition method. The default velocity is (0,0,0).
By default, measurement units are meters per second, but this can be changed by calling the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setvelocityHRESULT IDirectSound3DListener::SetVelocity([In] float x,[In] float y,[In] float z,[In] unsigned int dwApply)IDirectSound3DListener::SetVelocity
@@ -5897,7 +5348,7 @@
If the method succeeds, the return value is DS_OK.
The IDirectSoundFXWavesReverb8 interface is used to set and retrieve effect parameters on a buffer that supports Waves reverberation.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXWavesReverb8 interface exposes the following methods.
IDirectSoundFXWavesReverb8 Members
Method
-
Description
-
IDirectSoundFXWavesReverb8::GetAllParameters
The GetAllParameters method retrieves the music reverberation parameters of a buffer.
-
IDirectSoundFXWavesReverb8::SetAllParameters
The SetAllParameters method sets the music reverberation parameters of a buffer.
-
The Waves reverberation DMO is based on the Waves MaxxVerb technology, which is licenced to Microsoft.
+ No documentation.
- ee418241IDirectSoundFXWavesReverbIDirectSoundFXWavesReverb
@@ -6038,32 +5484,29 @@
- The SetAllParameters method sets the music reverberation parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxwavesreverb8.idirectsoundfxwavesreverb8.setallparametersHRESULT IDirectSoundFXWavesReverb::SetAllParameters([In] const DSFXWavesReverb* pcDsFxWavesReverb)IDirectSoundFXWavesReverb::SetAllParameters
- The GetAllParameters method retrieves the music reverberation parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxwavesreverb8.idirectsoundfxwavesreverb8.getallparametersHRESULT IDirectSoundFXWavesReverb::GetAllParameters([Out] DSFXWavesReverb* pDsFxWavesReverb)IDirectSoundFXWavesReverb::GetAllParameters
- The GetAllParameters method retrieves the music reverberation parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxwavesreverb8.idirectsoundfxwavesreverb8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXWavesReverb::GetAllParameters([Out] DSFXWavesReverb* pDsFxWavesReverb)
@@ -6252,7 +5695,7 @@
The structure contains parameters for a compression effect.
- microsoft.directx_sdk.reference.dsfxcompressor
+ ee416833DSFXCompressorDSFXCompressor
@@ -6261,7 +5704,7 @@
Output gain of signal after compression, in the range from DSFXCOMPRESSOR_GAIN_MIN to DSFXCOMPRESSOR_GAIN_MAX. The default value is 0 dB.
Speed at which compression is stopped after input drops below fThreshold, in the range from DSFXCOMPRESSOR_RELEASE_MIN to DSFXCOMPRESSOR_RELEASE_MAX. The default value is 200 ms.
Point at which compression begins, in decibels, in the range from DSFXCOMPRESSOR_THRESHOLD_MIN to DSFXCOMPRESSOR_THRESHOLD_MAX. The default value is -20 dB.
Time after lThreshold is reached before attack phase is started, in milliseconds, in the range from DSFXCOMPRESSOR_PREDELAY_MIN to DSFXCOMPRESSOR_PREDELAY_MAX. The default value is 4 ms.
- microsoft.directx_sdk.reference.dsfxcompressor
+ ee416833float fPredelayfloat fPredelay
@@ -6545,7 +5988,7 @@
The structure contains parameters for an I3DL2 (Interactive 3D Audio Level 2) reverberation effect.
- microsoft.directx_sdk.reference.dsfxi3dl2reverb
+ ee416838DSFXI3DL2ReverbDSFXI3DL2Reverb
@@ -6554,7 +5997,7 @@
Attenuation of the room effect, in millibels (mB), in the range from DSFX_I3DL2REVERB_ROOM_MIN to DSFX_I3DL2REVERB_ROOM_MAX. The default value is DSFX_I3DL2REVERB_ROOM_DEFAULT, or -1000 mB.
Attenuation of the room high-frequency effect, in mB, in the range from DSFX_I3DL2REVERB_ROOMHF_MIN to DSFX_I3DL2REVERB_ROOMHF_MAX. The default value is DSFX_I3DL2REVERB_ROOMHF_DEFAULT, or -100 mB.
Rolloff factor for the reflected signals, in the range from DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN to DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX. The default value is DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT, or 0.0. The rolloff factor for the direct path is controlled by the DirectSound listener.
Decay time, in seconds, in the range from DSFX_I3DL2REVERB_DECAYTIME_MIN to DSFX_I3DL2REVERB_DECAYTIME_MAX. The default value is DSFX_I3DL2REVERB_DECAYTIME_DEFAULT, or 1.49 second.
Ratio of the decay time at high frequencies to the decay time at low frequencies, in the range from DSFX_I3DL2REVERB_DECAYHFRATIO_MIN to DSFX_I3DL2REVERB_DECAYHFRATIO_MAX. The default value is DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT, or 0.83.
Attenuation of early reflections relative to lRoom, in mB, in the range from DSFX_I3DL2REVERB_REFLECTIONS_MIN to DSFX_I3DL2REVERB_REFLECTIONS_MAX. The default value is DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT, or -2602 mB.
Delay time of the first reflection relative to the direct path, in seconds, in the range from DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN to DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT. The default value is 0.007 seconds.
Attenuation of late reverberation relative to lRoom, in mB, in the range -from DSFX_I3DL2REVERB_REVERB_MIN to DSFX_I3DL2REVERB_REVERB_MAX. The default value is DSFX_I3DL2REVERB_REVERB_DEFAULT, or 200 mB.
Time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds, in the range from DSFX_I3DL2REVERB_REVERBDELAY_MIN to DSFX_I3DL2REVERB_REVERBDELAY_MAX. The default value is DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT, or 0.011 seconds.
Echo density in the late reverberation decay, in percent, in the range from DSFX_I3DL2REVERB_DIFFUSION_MIN to DSFX_I3DL2REVERB_DIFFUSION_MAX. The default value is DSFX_I3DL2REVERB_DIFFUSION_DEFAULT, or 100.0 percent.
Modal density in the late reverberation decay, in percent, in the range from DSFX_I3DL2REVERB_DENSITY_MIN to DSFX_I3DL2REVERB_DENSITY_MAX. The default value is DSFX_I3DL2REVERB_DENSITY_DEFAULT, or 100.0 percent.
Reference high frequency, in hertz, in the range from DSFX_I3DL2REVERB_HFREFERENCE_MIN to DSFX_I3DL2REVERB_HFREFERENCE_MAX. The default value is DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT, or 5000.0 Hz.
- microsoft.directx_sdk.reference.dsfxi3dl2reverb
+ ee416838float flHFReferencefloat flHFReference
@@ -6662,7 +6105,7 @@
The structure describes the 3D world parameters and the position of the listener. This structure is used with theIDirectSound3DListener8::GetAllParametersandIDirectSound3DListener8::SetAllParametersmethods.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817DS3DLISTENERDS3DLISTENER
@@ -6671,7 +6114,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817unsigned int dwSizeunsigned int dwSize
@@ -6680,7 +6123,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vPositionD3DVECTOR vPosition
@@ -6689,7 +6132,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vVelocityD3DVECTOR vVelocity
@@ -6698,7 +6141,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vOrientFrontD3DVECTOR vOrientFront
@@ -6707,7 +6150,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vOrientTopD3DVECTOR vOrientTop
@@ -6716,7 +6159,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817float flDistanceFactorfloat flDistanceFactor
@@ -6725,7 +6168,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817float flRolloffFactorfloat flRolloffFactor
@@ -6734,7 +6177,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817float flDopplerFactorfloat flDopplerFactor
@@ -6751,7 +6194,7 @@
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Boolean value that specifies whether the effect is enabled.
- microsoft.directx_sdk.reference.dscfxnoisesuppress
+ ee416827BOOL fEnableBOOL fEnable
@@ -6914,7 +6357,7 @@
The structure contains parameters for a Waves reverberation effect.
- microsoft.directx_sdk.reference.dsfxwavesreverb
+ ee416840DSFXWavesReverbDSFXWavesReverb
@@ -6923,7 +6366,7 @@
Input gain of signal, in decibels (dB), in the range from DSFX_WAVESREVERB_INGAIN_MIN through DSFX_WAVESREVERB_INGAIN_MAX. The default value is DSFX_WAVESREVERB_INGAIN_DEFAULT, or 0 dB.
Reverb mix, in dB, in the range from DSFX_WAVESREVERB_REVERBMIX_MIN through DSFX_WAVESREVERB_REVERBMIX_MAX. The default value is DSFX_WAVESREVERB_REVERBMIX_DEFAULT, or 0 dB.
Reverb time, in milliseconds, in the range from DSFX_WAVESREVERB_REVERBTIME_MIN through DSFX_WAVESREVERB_REVERBTIME_MAX. The default value is DSFX_WAVESREVERB_REVERBTIME_DEFAULT, or 1000.
High-frequency reverb time ratio, in the range from DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN through DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX. The default value is DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT, or 0.001.
- microsoft.directx_sdk.reference.dsfxwavesreverb
+ ee416840float fHighFreqRTRatiofloat fHighFreqRTRatio
diff --git a/Externals/SharpDX/net20/SharpDX.dll b/Externals/SharpDX/net20/SharpDX.dll
index 3412de917..cbf766dae 100644
Binary files a/Externals/SharpDX/net20/SharpDX.dll and b/Externals/SharpDX/net20/SharpDX.dll differ
diff --git a/Externals/SharpDX/net20/SharpDX.xml b/Externals/SharpDX/net20/SharpDX.xml
index 040d3e440..16cd65245 100644
--- a/Externals/SharpDX/net20/SharpDX.xml
+++ b/Externals/SharpDX/net20/SharpDX.xml
@@ -6040,70 +6040,6 @@
Size in bytes of the buffer.
-
-
- Converts this DataPointer to a .
-
- An instance of a .
-
-
-
- Converts this DataPointer to a .
-
- An instance of a .
-
-
-
- Converts this instance to a read only byte buffer.
-
- A readonly byte buffer.
-
- DataPointer is Zero
- or
- Size cannot be < 0
-
-
-
-
- Converts this instance to a read only typed buffer.
-
- Type of a buffer element
- A readonly typed buffer.
- DataPointer is Zero
-
-
-
- Reads the content of the unmanaged memory location of this instance to the specified buffer.
-
- Type of a buffer element
- The buffer.
- The offset in the array to write to.
- The number of T element to read from the memory location.
- buffer
- DataPointer is Zero
- buffer;Total buffer size cannot be larger than size of this data pointer
-
-
-
- Writes the content of the specified buffer to the unmanaged memory location of this instance.
-
- Type of a buffer element
- The buffer.
- buffer
- DataPointer is Zero
-
-
-
- Writes the content of the specified buffer to the unmanaged memory location of this instance.
-
-
- The buffer to read from.
- The offset in the array to read from.
- The number of T element to write to the memory location.
- buffer
- DataPointer is Zero
- buffer;Total buffer size cannot be larger than size of this data pointer
-
Implements the ==.
@@ -11407,12 +11343,6 @@
true if writing to the buffer should be allowed; otherwise, false.
-
-
- Initializes a new instance of the class.
-
- The data pointer.
-
Initializes a new instance of the class, using an unmanaged buffer as a backing store.
@@ -11978,12 +11908,6 @@
is less than 1.
-
-
- Initializes a new instance of the class.
-
- The data pointer.
-
Initializes a new instance of the class, using an unmanaged buffer as a backing store.
@@ -12578,7 +12502,7 @@
-
A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. The reference device for this driver is installed by the Windows SDK 8.0 or later and is intended only as a debug aid for development purposes. This driver may be referred to as a REF driver, a reference driver, or a reference rasterizer.
Note??When you use the REF driver in Windows Store apps, the REF driver renders correctly but doesn't display any output on the screen. To verify bugs in hardware drivers for Windows Store apps, use for the WARP driver instead.
+
A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.
ff476328
@@ -12605,7 +12529,7 @@
-
A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10_1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.
Note??The WARP driver that Windows?8 includes supports feature levels 9_1 through level 11_1.
Note??The WARP driver that Windows?8.1 includes fully supports feature level 11_1, including tiled, IDXGIDevice3::Trim, shared BCn surfaces, minblend, and map default.
+
A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.
ff476328
@@ -13181,7 +13105,7 @@
-
The resource is a raw buffer. For more info about raw viewing of buffers, see Raw Views of Buffers.
+
The resource is an extended buffer.
ff728736
@@ -13210,9 +13134,9 @@
Number of bytes in the blob.
The address of a reference to the ID3DBlob interface that is used to retrieve the buffer.
-
Returns one of the Direct3D 11 return codes.
+
Returns one of the following Direct3D 10 Return Codes.
-
The latest D3dcompiler_nn.dll contains the compiler function. Therefore, you are no longer required to create and use an arbitrary length data buffer by using the D3D10CreateBlob function that is contained in D3d10.dll.
Windows Phone 8.1: This API is supported.
+
The latest D3dcompiler_nn.dll contains the compiler function. Therefore, you are no longer required to create and use an arbitrary length data buffer by using the D3D10CreateBlob function that is contained in D3d10.dll.
ff728672
@@ -13363,8 +13287,8 @@
Defines a shader macro.
-
You can use shader macros in your shaders. The structure defines a single shader macro as shown in the following example:
Shader_Macros[1] = { "zero", "0" };
-
The following shader or effect creation functions take an array of shader macros as an input parameter:
D3D10CompileShader
D3DX10PreprocessShaderFromFile
D3DX11CreateAsyncShaderPreprocessProcessor
+
You can use shader macros in your shaders. The structure defines a single shader macro as shown in the following example:
Shader_Macros[1] = { "zero", "0" };
+
The following shader or effect creation functions take an array of shader macros as an input parameter:
D3D10CompileShader
D3DX10PreprocessShaderFromFile
D3DX11CreateAsyncShaderPreprocessProcessor
ff728732
@@ -13661,16 +13585,14 @@
No documentation.
- ff539946HID_USAGE_IDHID_USAGE_ID
-
Aliased
+ No documentation.
- ff539946HID_USAGE_GENERIC_POINTERHID_USAGE_GENERIC_POINTER
@@ -13679,7 +13601,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_MOUSEHID_USAGE_GENERIC_MOUSE
@@ -13688,7 +13609,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_JOYSTICKHID_USAGE_GENERIC_JOYSTICK
@@ -13697,7 +13617,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_GAMEPADHID_USAGE_GENERIC_GAMEPAD
@@ -13706,7 +13625,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_KEYBOARDHID_USAGE_GENERIC_KEYBOARD
@@ -13715,7 +13633,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_KEYPADHID_USAGE_GENERIC_KEYPAD
@@ -13724,7 +13641,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSTEM_CTLHID_USAGE_GENERIC_SYSTEM_CTL
@@ -13733,7 +13649,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_XHID_USAGE_GENERIC_X
@@ -13742,7 +13657,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_YHID_USAGE_GENERIC_Y
@@ -13751,7 +13665,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_ZHID_USAGE_GENERIC_Z
@@ -13760,7 +13673,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_RXHID_USAGE_GENERIC_RX
@@ -13769,7 +13681,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_RYHID_USAGE_GENERIC_RY
@@ -13778,7 +13689,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_RZHID_USAGE_GENERIC_RZ
@@ -13787,7 +13697,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SLIDERHID_USAGE_GENERIC_SLIDER
@@ -13796,7 +13705,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_DIALHID_USAGE_GENERIC_DIAL
@@ -13805,7 +13713,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_WHEELHID_USAGE_GENERIC_WHEEL
@@ -13814,7 +13721,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_HATSWITCHHID_USAGE_GENERIC_HATSWITCH
@@ -13823,7 +13729,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_COUNTED_BUFFERHID_USAGE_GENERIC_COUNTED_BUFFER
@@ -13832,7 +13737,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_BYTE_COUNTHID_USAGE_GENERIC_BYTE_COUNT
@@ -13841,7 +13745,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_MOTION_WAKEUPHID_USAGE_GENERIC_MOTION_WAKEUP
@@ -13850,7 +13753,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VXHID_USAGE_GENERIC_VX
@@ -13859,7 +13761,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VYHID_USAGE_GENERIC_VY
@@ -13868,7 +13769,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VZHID_USAGE_GENERIC_VZ
@@ -13877,7 +13777,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VBRXHID_USAGE_GENERIC_VBRX
@@ -13886,7 +13785,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VBRYHID_USAGE_GENERIC_VBRY
@@ -13895,7 +13793,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VBRZHID_USAGE_GENERIC_VBRZ
@@ -13904,7 +13801,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VNOHID_USAGE_GENERIC_VNO
@@ -13913,7 +13809,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_POWERHID_USAGE_GENERIC_SYSCTL_POWER
@@ -13922,7 +13817,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_SLEEPHID_USAGE_GENERIC_SYSCTL_SLEEP
@@ -13931,7 +13825,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_WAKEHID_USAGE_GENERIC_SYSCTL_WAKE
@@ -13940,7 +13833,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENUHID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU
@@ -13949,7 +13841,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MAIN_MENUHID_USAGE_GENERIC_SYSCTL_MAIN_MENU
@@ -13958,7 +13849,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_APP_MENUHID_USAGE_GENERIC_SYSCTL_APP_MENU
@@ -13967,7 +13857,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_HELP_MENUHID_USAGE_GENERIC_SYSCTL_HELP_MENU
@@ -13976,7 +13865,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_EXITHID_USAGE_GENERIC_SYSCTL_MENU_EXIT
@@ -13985,7 +13873,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_SELECTHID_USAGE_GENERIC_SYSCTL_MENU_SELECT
@@ -13994,7 +13881,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_RIGHTHID_USAGE_GENERIC_SYSCTL_MENU_RIGHT
@@ -14003,7 +13889,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_LEFTHID_USAGE_GENERIC_SYSCTL_MENU_LEFT
@@ -14012,7 +13897,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_UPHID_USAGE_GENERIC_SYSCTL_MENU_UP
@@ -14021,7 +13905,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_DOWNHID_USAGE_GENERIC_SYSCTL_MENU_DOWN
@@ -14030,7 +13913,6 @@
No documentation.
- ff539946HID_USAGE_SIMULATION_RUDDERHID_USAGE_SIMULATION_RUDDER
@@ -14039,7 +13921,6 @@
No documentation.
- ff539946HID_USAGE_SIMULATION_THROTTLEHID_USAGE_SIMULATION_THROTTLE
@@ -14048,7 +13929,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_NOEVENTHID_USAGE_KEYBOARD_NOEVENT
@@ -14057,7 +13937,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ROLLOVERHID_USAGE_KEYBOARD_ROLLOVER
@@ -14066,7 +13945,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_POSTFAILHID_USAGE_KEYBOARD_POSTFAIL
@@ -14075,7 +13953,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_UNDEFINEDHID_USAGE_KEYBOARD_UNDEFINED
@@ -14084,7 +13961,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_aAHID_USAGE_KEYBOARD_aA
@@ -14093,7 +13969,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_zZHID_USAGE_KEYBOARD_zZ
@@ -14102,7 +13977,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ONEHID_USAGE_KEYBOARD_ONE
@@ -14111,7 +13985,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ZEROHID_USAGE_KEYBOARD_ZERO
@@ -14120,7 +13993,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LCTRLHID_USAGE_KEYBOARD_LCTRL
@@ -14129,7 +14001,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LSHFTHID_USAGE_KEYBOARD_LSHFT
@@ -14138,7 +14009,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LALTHID_USAGE_KEYBOARD_LALT
@@ -14147,7 +14017,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LGUIHID_USAGE_KEYBOARD_LGUI
@@ -14156,7 +14025,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RCTRLHID_USAGE_KEYBOARD_RCTRL
@@ -14165,7 +14033,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RSHFTHID_USAGE_KEYBOARD_RSHFT
@@ -14174,7 +14041,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RALTHID_USAGE_KEYBOARD_RALT
@@ -14183,7 +14049,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RGUIHID_USAGE_KEYBOARD_RGUI
@@ -14192,7 +14057,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_SCROLL_LOCKHID_USAGE_KEYBOARD_SCROLL_LOCK
@@ -14201,7 +14065,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_NUM_LOCKHID_USAGE_KEYBOARD_NUM_LOCK
@@ -14210,7 +14073,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_CAPS_LOCKHID_USAGE_KEYBOARD_CAPS_LOCK
@@ -14219,7 +14081,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_F1HID_USAGE_KEYBOARD_F1
@@ -14228,7 +14089,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_F12HID_USAGE_KEYBOARD_F12
@@ -14237,7 +14097,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RETURNHID_USAGE_KEYBOARD_RETURN
@@ -14246,7 +14105,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ESCAPEHID_USAGE_KEYBOARD_ESCAPE
@@ -14255,7 +14113,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_DELETEHID_USAGE_KEYBOARD_DELETE
@@ -14264,7 +14121,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_PRINT_SCREENHID_USAGE_KEYBOARD_PRINT_SCREEN
@@ -14273,7 +14129,6 @@
No documentation.
- ff539946HID_USAGE_LED_NUM_LOCKHID_USAGE_LED_NUM_LOCK
@@ -14282,7 +14137,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAPS_LOCKHID_USAGE_LED_CAPS_LOCK
@@ -14291,7 +14145,6 @@
No documentation.
- ff539946HID_USAGE_LED_SCROLL_LOCKHID_USAGE_LED_SCROLL_LOCK
@@ -14300,7 +14153,6 @@
No documentation.
- ff539946HID_USAGE_LED_COMPOSEHID_USAGE_LED_COMPOSE
@@ -14309,7 +14161,6 @@
No documentation.
- ff539946HID_USAGE_LED_KANAHID_USAGE_LED_KANA
@@ -14318,7 +14169,6 @@
No documentation.
- ff539946HID_USAGE_LED_POWERHID_USAGE_LED_POWER
@@ -14327,7 +14177,6 @@
No documentation.
- ff539946HID_USAGE_LED_SHIFTHID_USAGE_LED_SHIFT
@@ -14336,7 +14185,6 @@
No documentation.
- ff539946HID_USAGE_LED_DO_NOT_DISTURBHID_USAGE_LED_DO_NOT_DISTURB
@@ -14345,7 +14193,6 @@
No documentation.
- ff539946HID_USAGE_LED_MUTEHID_USAGE_LED_MUTE
@@ -14354,7 +14201,6 @@
No documentation.
- ff539946HID_USAGE_LED_TONE_ENABLEHID_USAGE_LED_TONE_ENABLE
@@ -14363,7 +14209,6 @@
No documentation.
- ff539946HID_USAGE_LED_HIGH_CUT_FILTERHID_USAGE_LED_HIGH_CUT_FILTER
@@ -14372,7 +14217,6 @@
No documentation.
- ff539946HID_USAGE_LED_LOW_CUT_FILTERHID_USAGE_LED_LOW_CUT_FILTER
@@ -14381,7 +14225,6 @@
No documentation.
- ff539946HID_USAGE_LED_EQUALIZER_ENABLEHID_USAGE_LED_EQUALIZER_ENABLE
@@ -14390,7 +14233,6 @@
No documentation.
- ff539946HID_USAGE_LED_SOUND_FIELD_ONHID_USAGE_LED_SOUND_FIELD_ON
@@ -14399,7 +14241,6 @@
No documentation.
- ff539946HID_USAGE_LED_SURROUND_FIELD_ONHID_USAGE_LED_SURROUND_FIELD_ON
@@ -14408,7 +14249,6 @@
No documentation.
- ff539946HID_USAGE_LED_REPEATHID_USAGE_LED_REPEAT
@@ -14417,7 +14257,6 @@
No documentation.
- ff539946HID_USAGE_LED_STEREOHID_USAGE_LED_STEREO
@@ -14426,7 +14265,6 @@
No documentation.
- ff539946HID_USAGE_LED_SAMPLING_RATE_DETECTHID_USAGE_LED_SAMPLING_RATE_DETECT
@@ -14435,7 +14273,6 @@
No documentation.
- ff539946HID_USAGE_LED_SPINNINGHID_USAGE_LED_SPINNING
@@ -14444,7 +14281,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAVHID_USAGE_LED_CAV
@@ -14453,7 +14289,6 @@
No documentation.
- ff539946HID_USAGE_LED_CLVHID_USAGE_LED_CLV
@@ -14462,7 +14297,6 @@
No documentation.
- ff539946HID_USAGE_LED_RECORDING_FORMAT_DETHID_USAGE_LED_RECORDING_FORMAT_DET
@@ -14471,7 +14305,6 @@
No documentation.
- ff539946HID_USAGE_LED_OFF_HOOKHID_USAGE_LED_OFF_HOOK
@@ -14480,7 +14313,6 @@
No documentation.
- ff539946HID_USAGE_LED_RINGHID_USAGE_LED_RING
@@ -14489,7 +14321,6 @@
No documentation.
- ff539946HID_USAGE_LED_MESSAGE_WAITINGHID_USAGE_LED_MESSAGE_WAITING
@@ -14498,7 +14329,6 @@
No documentation.
- ff539946HID_USAGE_LED_DATA_MODEHID_USAGE_LED_DATA_MODE
@@ -14507,7 +14337,6 @@
No documentation.
- ff539946HID_USAGE_LED_BATTERY_OPERATIONHID_USAGE_LED_BATTERY_OPERATION
@@ -14516,7 +14345,6 @@
No documentation.
- ff539946HID_USAGE_LED_BATTERY_OKHID_USAGE_LED_BATTERY_OK
@@ -14525,7 +14353,6 @@
No documentation.
- ff539946HID_USAGE_LED_BATTERY_LOWHID_USAGE_LED_BATTERY_LOW
@@ -14534,7 +14361,6 @@
No documentation.
- ff539946HID_USAGE_LED_SPEAKERHID_USAGE_LED_SPEAKER
@@ -14543,7 +14369,6 @@
No documentation.
- ff539946HID_USAGE_LED_HEAD_SETHID_USAGE_LED_HEAD_SET
@@ -14552,7 +14377,6 @@
No documentation.
- ff539946HID_USAGE_LED_HOLDHID_USAGE_LED_HOLD
@@ -14561,7 +14385,6 @@
No documentation.
- ff539946HID_USAGE_LED_MICROPHONEHID_USAGE_LED_MICROPHONE
@@ -14570,7 +14393,6 @@
No documentation.
- ff539946HID_USAGE_LED_COVERAGEHID_USAGE_LED_COVERAGE
@@ -14579,7 +14401,6 @@
No documentation.
- ff539946HID_USAGE_LED_NIGHT_MODEHID_USAGE_LED_NIGHT_MODE
@@ -14588,7 +14409,6 @@
No documentation.
- ff539946HID_USAGE_LED_SEND_CALLSHID_USAGE_LED_SEND_CALLS
@@ -14597,7 +14417,6 @@
No documentation.
- ff539946HID_USAGE_LED_CALL_PICKUPHID_USAGE_LED_CALL_PICKUP
@@ -14606,7 +14425,6 @@
No documentation.
- ff539946HID_USAGE_LED_CONFERENCEHID_USAGE_LED_CONFERENCE
@@ -14615,7 +14433,6 @@
No documentation.
- ff539946HID_USAGE_LED_STAND_BYHID_USAGE_LED_STAND_BY
@@ -14624,7 +14441,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAMERA_ONHID_USAGE_LED_CAMERA_ON
@@ -14633,7 +14449,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAMERA_OFFHID_USAGE_LED_CAMERA_OFF
@@ -14642,7 +14457,6 @@
No documentation.
- ff539946HID_USAGE_LED_ON_LINEHID_USAGE_LED_ON_LINE
@@ -14651,7 +14465,6 @@
No documentation.
- ff539946HID_USAGE_LED_OFF_LINEHID_USAGE_LED_OFF_LINE
@@ -14660,7 +14473,6 @@
No documentation.
- ff539946HID_USAGE_LED_BUSYHID_USAGE_LED_BUSY
@@ -14669,7 +14481,6 @@
No documentation.
- ff539946HID_USAGE_LED_READYHID_USAGE_LED_READY
@@ -14678,7 +14489,6 @@
No documentation.
- ff539946HID_USAGE_LED_PAPER_OUTHID_USAGE_LED_PAPER_OUT
@@ -14687,7 +14497,6 @@
No documentation.
- ff539946HID_USAGE_LED_PAPER_JAMHID_USAGE_LED_PAPER_JAM
@@ -14696,7 +14505,6 @@
No documentation.
- ff539946HID_USAGE_LED_REMOTEHID_USAGE_LED_REMOTE
@@ -14705,7 +14513,6 @@
No documentation.
- ff539946HID_USAGE_LED_FORWARDHID_USAGE_LED_FORWARD
@@ -14714,7 +14521,6 @@
No documentation.
- ff539946HID_USAGE_LED_REVERSEHID_USAGE_LED_REVERSE
@@ -14723,7 +14529,6 @@
No documentation.
- ff539946HID_USAGE_LED_STOPHID_USAGE_LED_STOP
@@ -14732,7 +14537,6 @@
No documentation.
- ff539946HID_USAGE_LED_REWINDHID_USAGE_LED_REWIND
@@ -14741,7 +14545,6 @@
No documentation.
- ff539946HID_USAGE_LED_FAST_FORWARDHID_USAGE_LED_FAST_FORWARD
@@ -14750,7 +14553,6 @@
No documentation.
- ff539946HID_USAGE_LED_PLAYHID_USAGE_LED_PLAY
@@ -14759,7 +14561,6 @@
No documentation.
- ff539946HID_USAGE_LED_PAUSEHID_USAGE_LED_PAUSE
@@ -14768,7 +14569,6 @@
No documentation.
- ff539946HID_USAGE_LED_RECORDHID_USAGE_LED_RECORD
@@ -14777,7 +14577,6 @@
No documentation.
- ff539946HID_USAGE_LED_ERRORHID_USAGE_LED_ERROR
@@ -14786,7 +14585,6 @@
No documentation.
- ff539946HID_USAGE_LED_SELECTED_INDICATORHID_USAGE_LED_SELECTED_INDICATOR
@@ -14795,7 +14593,6 @@
No documentation.
- ff539946HID_USAGE_LED_IN_USE_INDICATORHID_USAGE_LED_IN_USE_INDICATOR
@@ -14804,7 +14601,6 @@
No documentation.
- ff539946HID_USAGE_LED_MULTI_MODE_INDICATORHID_USAGE_LED_MULTI_MODE_INDICATOR
@@ -14813,7 +14609,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_ONHID_USAGE_LED_INDICATOR_ON
@@ -14822,7 +14617,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_FLASHHID_USAGE_LED_INDICATOR_FLASH
@@ -14831,7 +14625,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_SLOW_BLINKHID_USAGE_LED_INDICATOR_SLOW_BLINK
@@ -14840,7 +14633,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_FAST_BLINKHID_USAGE_LED_INDICATOR_FAST_BLINK
@@ -14849,7 +14641,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_OFFHID_USAGE_LED_INDICATOR_OFF
@@ -14858,7 +14649,6 @@
No documentation.
- ff539946HID_USAGE_LED_FLASH_ON_TIMEHID_USAGE_LED_FLASH_ON_TIME
@@ -14867,7 +14657,6 @@
No documentation.
- ff539946HID_USAGE_LED_SLOW_BLINK_ON_TIMEHID_USAGE_LED_SLOW_BLINK_ON_TIME
@@ -14876,7 +14665,6 @@
No documentation.
- ff539946HID_USAGE_LED_SLOW_BLINK_OFF_TIMEHID_USAGE_LED_SLOW_BLINK_OFF_TIME
@@ -14885,7 +14673,6 @@
No documentation.
- ff539946HID_USAGE_LED_FAST_BLINK_ON_TIMEHID_USAGE_LED_FAST_BLINK_ON_TIME
@@ -14894,7 +14681,6 @@
No documentation.
- ff539946HID_USAGE_LED_FAST_BLINK_OFF_TIMEHID_USAGE_LED_FAST_BLINK_OFF_TIME
@@ -14903,7 +14689,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_COLORHID_USAGE_LED_INDICATOR_COLOR
@@ -14912,7 +14697,6 @@
No documentation.
- ff539946HID_USAGE_LED_REDHID_USAGE_LED_RED
@@ -14921,7 +14705,6 @@
No documentation.
- ff539946HID_USAGE_LED_GREENHID_USAGE_LED_GREEN
@@ -14930,7 +14713,6 @@
No documentation.
- ff539946HID_USAGE_LED_AMBERHID_USAGE_LED_AMBER
@@ -14939,7 +14721,6 @@
No documentation.
- ff539946HID_USAGE_LED_GENERIC_INDICATORHID_USAGE_LED_GENERIC_INDICATOR
@@ -14948,7 +14729,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_PHONEHID_USAGE_TELEPHONY_PHONE
@@ -14957,7 +14737,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_ANSWERING_MACHINEHID_USAGE_TELEPHONY_ANSWERING_MACHINE
@@ -14966,7 +14745,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_MESSAGE_CONTROLSHID_USAGE_TELEPHONY_MESSAGE_CONTROLS
@@ -14975,7 +14753,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_HANDSETHID_USAGE_TELEPHONY_HANDSET
@@ -14984,7 +14761,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_HEADSETHID_USAGE_TELEPHONY_HEADSET
@@ -14993,7 +14769,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_KEYPADHID_USAGE_TELEPHONY_KEYPAD
@@ -15002,7 +14777,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTONHID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON
@@ -15011,7 +14785,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_REDIALHID_USAGE_TELEPHONY_REDIAL
@@ -15020,7 +14793,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_TRANSFERHID_USAGE_TELEPHONY_TRANSFER
@@ -15029,7 +14801,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_DROPHID_USAGE_TELEPHONY_DROP
@@ -15038,7 +14809,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_LINEHID_USAGE_TELEPHONY_LINE
@@ -15047,7 +14817,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_RING_ENABLEHID_USAGE_TELEPHONY_RING_ENABLE
@@ -15056,7 +14825,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_SENDHID_USAGE_TELEPHONY_SEND
@@ -15065,7 +14833,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_KEYPAD_0HID_USAGE_TELEPHONY_KEYPAD_0
@@ -15074,7 +14841,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_KEYPAD_DHID_USAGE_TELEPHONY_KEYPAD_D
@@ -15083,7 +14849,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_HOST_AVAILABLEHID_USAGE_TELEPHONY_HOST_AVAILABLE
@@ -15092,7 +14857,6 @@
No documentation.
- ff539946HID_USAGE_MS_BTH_HF_DIALNUMBERHID_USAGE_MS_BTH_HF_DIALNUMBER
@@ -15101,7 +14865,6 @@
No documentation.
- ff539946HID_USAGE_MS_BTH_HF_DIALMEMORYHID_USAGE_MS_BTH_HF_DIALMEMORY
@@ -15110,7 +14873,6 @@
No documentation.
- ff539946HID_USAGE_CONSUMERCTRLHID_USAGE_CONSUMERCTRL
@@ -15119,7 +14881,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_PENHID_USAGE_DIGITIZER_PEN
@@ -15128,7 +14889,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_IN_RANGEHID_USAGE_DIGITIZER_IN_RANGE
@@ -15137,7 +14897,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_TIP_SWITCHHID_USAGE_DIGITIZER_TIP_SWITCH
@@ -15146,7 +14905,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_BARREL_SWITCHHID_USAGE_DIGITIZER_BARREL_SWITCH
@@ -15155,16 +14913,14 @@
No documentation.
- ff539946HID_USAGE_PAGEHID_USAGE_PAGE
-
Aliased
+ No documentation.
- ff539946HID_USAGE_PAGE_UNDEFINEDHID_USAGE_PAGE_UNDEFINED
@@ -15173,7 +14929,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_GENERICHID_USAGE_PAGE_GENERIC
@@ -15182,7 +14937,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_SIMULATIONHID_USAGE_PAGE_SIMULATION
@@ -15191,7 +14945,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_VRHID_USAGE_PAGE_VR
@@ -15200,7 +14953,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_SPORTHID_USAGE_PAGE_SPORT
@@ -15209,7 +14961,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_GAMEHID_USAGE_PAGE_GAME
@@ -15218,7 +14969,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_KEYBOARDHID_USAGE_PAGE_KEYBOARD
@@ -15227,7 +14977,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_LEDHID_USAGE_PAGE_LED
@@ -15236,7 +14985,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_BUTTONHID_USAGE_PAGE_BUTTON
@@ -15245,7 +14993,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_ORDINALHID_USAGE_PAGE_ORDINAL
@@ -15254,7 +15001,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_TELEPHONYHID_USAGE_PAGE_TELEPHONY
@@ -15263,7 +15009,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_CONSUMERHID_USAGE_PAGE_CONSUMER
@@ -15272,7 +15017,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_DIGITIZERHID_USAGE_PAGE_DIGITIZER
@@ -15281,7 +15025,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_UNICODEHID_USAGE_PAGE_UNICODE
@@ -15290,7 +15033,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_ALPHANUMERICHID_USAGE_PAGE_ALPHANUMERIC
@@ -15299,7 +15041,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREEHID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE
@@ -15308,7 +15049,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MEDICALHID_USAGE_PAGE_MEDICAL
@@ -15317,7 +15057,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE0HID_USAGE_PAGE_MONITOR_PAGE0
@@ -15326,7 +15065,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE1HID_USAGE_PAGE_MONITOR_PAGE1
@@ -15335,7 +15073,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE2HID_USAGE_PAGE_MONITOR_PAGE2
@@ -15344,7 +15081,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE3HID_USAGE_PAGE_MONITOR_PAGE3
@@ -15353,7 +15089,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE0HID_USAGE_PAGE_POWER_PAGE0
@@ -15362,7 +15097,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE1HID_USAGE_PAGE_POWER_PAGE1
@@ -15371,7 +15105,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE2HID_USAGE_PAGE_POWER_PAGE2
@@ -15380,7 +15113,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE3HID_USAGE_PAGE_POWER_PAGE3
@@ -15389,7 +15121,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_BARCODEHID_USAGE_PAGE_BARCODE
@@ -15398,7 +15129,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_SCALEHID_USAGE_PAGE_SCALE
@@ -15407,7 +15137,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MSRHID_USAGE_PAGE_MSR
@@ -38005,10 +37734,13 @@
-
Indicates the type of locks placed on records during editing.
+
The
+ enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the
+ ILockBytes::LockRegion and
+ methods.
The number of bytes of data to read from the stream object.
A reference to a ULONG variable that receives the actual number of bytes read from the stream object.
Note??The number of bytes read may be zero.
-
This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.
The number of bytes actually read is also returned in the pcbRead parameter.
+
This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.
The number of bytes actually read is also returned in the pcbRead parameter.
Notes to Callers
The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.
The application should handle both a returned error and return values on end-of-stream read operations.
aa380011
@@ -38298,11 +38030,11 @@
The SetSize method changes the size of the stream object.
-
Specifies the new size, in bytes, of the stream.
-
This method can return one of these values.
The size of the stream object was successfully changed.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The stream size is not changed because there is no space left on the storage device.
STG_E_INVALIDFUNCTION
The value of the libNewSize parameter is not supported by the implementation. Not all streams support greater than 232 bytes. If a stream does not support more than 232 bytes, the high DWORD data type of libNewSize must be zero. If it is nonzero, the implementation may return STG_E_INVALIDFUNCTION. In general, COM-based implementations of the interface do not support streams larger than 232 bytes.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
Specifies the new size of the stream as a number of bytes.
+
This method can return one of the following values.
The size of the stream object was successfully changed.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The stream size is not changed because there is no space left on the storage device.
STG_E_INVALIDFUNCTION
The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the
- method if the seek reference is past the current end of the stream.
If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.
The seek reference is not affected by the change in stream size.
Calling can be an effective way to obtain a large chunk of contiguous space.
+ method if the seek reference is past the current end of stream.
If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.
The seek reference is not affected by the change in stream size.
Calling can be an effective way to obtain a large chunk of contiguous space.
aa380044
@@ -38333,7 +38065,7 @@
The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.
-
This method can return one of these values.
Changes to the stream object were successfully committed to the parent level.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The commit operation failed due to lack of space on the storage device.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
This method can return one of the following values.
Changes to the stream object were successfully committed to the parent level.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The commit operation failed due to lack of space on the storage device.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see
- Compound File Implementation.
If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.
The method is useful on a direct mode stream when the implementation of the
@@ -38349,7 +38081,7 @@
The Revert method discards all changes that have been made to a transacted stream since the last
call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.
-
This method can return one of these values.
The stream was successfully reverted to its previous version.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
+
This method can return one of the following values.
The stream was successfully reverted to its previous version.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
The Revert method discards changes made to a transacted stream since the last commit operation.
@@ -38365,11 +38097,12 @@
Integer that specifies the byte offset for the beginning of the range.
Integer that specifies the length of the range, in bytes, to be restricted.
Specifies the restrictions being requested on accessing the range.
-
This method can return one of these values.
The specified range of bytes was locked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
Requested lock is supported, but cannot be granted because of an existing lock.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
This method can return one of the following values.
The specified range of bytes was locked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
Requested lock is supported, but cannot be granted because of an existing lock.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.
Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the
enumeration.
Any region locked with must later be explicitly unlocked by calling
- with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.
+ with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.Notes to Callers
Since the type of locking supported is optional and can vary in different implementations of
+ , you must provide code to deal with the STG_E_INVALIDFUNCTION error.
The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.
Notes to Implementers
Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.
aa380039
@@ -38378,19 +38111,13 @@
-
The UnlockRegion method removes the access restriction on a range of bytes previously restricted with
- .
+ No documentation.
No documentation.
No documentation.
No documentation.
-
This method can return one of these values.
The byte range was unlocked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
The requested unlock operation cannot be granted.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
-
-
unlocks a region previously locked with the
- method. Locked regions must later be explicitly unlocked by calling with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.
-
+ No documentation.
- aa380046HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)IStream::UnlockRegion
@@ -42300,16 +42027,7 @@
A that represents this instance.
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The projection matrix.
- The view matrix.
- The world matrix.
- The projected vector.
-
+
Projects a 3D vector from object space into screen space.
@@ -43969,19 +43687,9 @@
- An empty rectangle.
+ An empty rectangle
-
-
- An infinite rectangle. See remarks.
-
-
- http://msdn.microsoft.com/en-us/library/windows/desktop/dd372261%28v=vs.85%29.aspx
- Any properties that involve computations, like , or
- may return incorrect results - .
-
-
Initializes a new instance of the struct.
@@ -44460,11 +44168,6 @@
Equivalent to Windows type SIZE_T.
-
-
- An empty pointer size initialized to zero.
-
-
Initializes a new instance of the struct.
@@ -48649,23 +48352,9 @@
- Gets or sets a value indicating whether this form can be resized by the user. See remarks.
+ Gets or sets a value indicating whether this form can be resized by the user.
-
- This property alters ,
- for true value it is ,
- for false - .
- true if this form can be resized by the user (by default); otherwise, false.
-
-
- Gets or sets a value indicationg whether the current render form is in fullscreen mode. See remarks.
-
-
- If Toolkit is used, this property is set automatically,
- otherwise user should maintain it himself as it affects the behavior of property.
-
-
diff --git a/Externals/SharpDX/net40/SharpDX.DirectSound.dll b/Externals/SharpDX/net40/SharpDX.DirectSound.dll
index 71e500a95..81d32116d 100644
Binary files a/Externals/SharpDX/net40/SharpDX.DirectSound.dll and b/Externals/SharpDX/net40/SharpDX.DirectSound.dll differ
diff --git a/Externals/SharpDX/net40/SharpDX.DirectSound.xml b/Externals/SharpDX/net40/SharpDX.DirectSound.xml
index 848ed3e68..464a81b0a 100644
--- a/Externals/SharpDX/net40/SharpDX.DirectSound.xml
+++ b/Externals/SharpDX/net40/SharpDX.DirectSound.xml
@@ -17,7 +17,7 @@
The structure contains all information necessary to uniquely describe the location, orientation, and motion of a 3D sound buffer. This structure is used with theIDirectSound3DBuffer8::GetAllParametersandIDirectSound3DBuffer8::SetAllParametersmethods.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816DS3DBUFFERDS3DBUFFER
@@ -31,7 +31,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwSizeunsigned int dwSize
@@ -40,7 +40,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816D3DVECTOR vPositionD3DVECTOR vPosition
@@ -49,7 +49,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816D3DVECTOR vVelocityD3DVECTOR vVelocity
@@ -58,7 +58,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwInsideConeAngleunsigned int dwInsideConeAngle
@@ -67,7 +67,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwOutsideConeAngleunsigned int dwOutsideConeAngle
@@ -76,7 +76,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816D3DVECTOR vConeOrientationD3DVECTOR vConeOrientation
@@ -85,7 +85,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816int lConeOutsideVolumeint lConeOutsideVolume
@@ -94,7 +94,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816float flMinDistancefloat flMinDistance
@@ -103,7 +103,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816float flMaxDistancefloat flMaxDistance
@@ -112,19 +112,15 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dbuffer
+ ee416816unsigned int dwModeunsigned int dwMode
- The structure describes the capabilities of a device. It is used by theIDirectSound8::GetCapsmethod.
+ No documentation.
-
-
Some audio cards may be unable to report accurately the number of available or free hardware buffers. This can happen, for example, when the card can play more sounds at lower sampling rates than at higher rates. In general, a nonzero value in any of the members relating to number of free hardware buffers signifies that at least one hardware resource of the appropriate type is available.
The unlock transfer rate for software buffers is 0, because the data need not be transferred anywhere. Similarly, the play processing overhead for hardware buffers is 0 because the mixing is done by the sound device.
-
- microsoft.directx_sdk.reference.dscapsDSCAPSDSCAPS
@@ -138,7 +134,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwSizeunsigned int dwSize
@@ -147,7 +142,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_FLAGS dwFlagsDSCAPS_FLAGS dwFlags
@@ -156,7 +150,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMinSecondarySampleRateunsigned int dwMinSecondarySampleRate
@@ -165,7 +158,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxSecondarySampleRateunsigned int dwMaxSecondarySampleRate
@@ -174,7 +166,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwPrimaryBuffersunsigned int dwPrimaryBuffers
@@ -183,7 +174,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHwMixingAllBuffersunsigned int dwMaxHwMixingAllBuffers
@@ -192,7 +182,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHwMixingStaticBuffersunsigned int dwMaxHwMixingStaticBuffers
@@ -201,7 +190,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHwMixingStreamingBuffersunsigned int dwMaxHwMixingStreamingBuffers
@@ -210,7 +198,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMixingAllBuffersunsigned int dwFreeHwMixingAllBuffers
@@ -219,7 +206,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMixingStaticBuffersunsigned int dwFreeHwMixingStaticBuffers
@@ -228,7 +214,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMixingStreamingBuffersunsigned int dwFreeHwMixingStreamingBuffers
@@ -237,7 +222,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHw3DAllBuffersunsigned int dwMaxHw3DAllBuffers
@@ -246,7 +230,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHw3DStaticBuffersunsigned int dwMaxHw3DStaticBuffers
@@ -255,7 +238,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxHw3DStreamingBuffersunsigned int dwMaxHw3DStreamingBuffers
@@ -264,7 +246,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHw3DAllBuffersunsigned int dwFreeHw3DAllBuffers
@@ -273,7 +254,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHw3DStaticBuffersunsigned int dwFreeHw3DStaticBuffers
@@ -282,7 +262,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHw3DStreamingBuffersunsigned int dwFreeHw3DStreamingBuffers
@@ -291,7 +270,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwTotalHwMemBytesunsigned int dwTotalHwMemBytes
@@ -300,7 +278,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwFreeHwMemBytesunsigned int dwFreeHwMemBytes
@@ -309,7 +286,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwMaxContigFreeHwMemBytesunsigned int dwMaxContigFreeHwMemBytes
@@ -318,7 +294,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwUnlockTransferRateHwBuffersunsigned int dwUnlockTransferRateHwBuffers
@@ -327,7 +302,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwPlayCpuOverheadSwBuffersunsigned int dwPlayCpuOverheadSwBuffers
@@ -336,7 +310,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwReserved1unsigned int dwReserved1
@@ -345,65 +318,22 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsunsigned int dwReserved2unsigned int dwReserved2
-
The interface is used to manipulate sound capture buffers.
To obtain the interface, call the IDirectSoundCapture8::CreateCaptureBuffer method to obtain , then pass IID_IDirectSoundCaptureBuffer8 to IDirectSoundCaptureBuffer::QueryInterface.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Capture Management
Method
-
Description
-
IDirectSoundCaptureBuffer8::Lock
The Lock method locks a portion of the buffer. Locking the buffer returns references into the buffer, allowing the application to read or write audio data into memory.
-
IDirectSoundCaptureBuffer8::Start
The Start method begins capturing data into the buffer. If the buffer is already capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Stop
The Stop method stops the buffer so that it is no longer capturing data. If the buffer is not capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Unlock
The Unlock method unlocks the buffer.
-
Effects
Method
-
Description
-
The GetFXStatus method retrieves the status of capture effects.
-
The GetObjectInPath method retrieves an interface to an effect object associated with the buffer.
-
Initialization
Method
-
Description
-
IDirectSoundCaptureBuffer8::Initialize
The Initialize method initializes a capture buffer object. Because the IDirectSoundCapture8::CreateCaptureBufferIDirectSoundCapture8::CreateCaptureBuffer
-
Information
Method
-
Description
-
IDirectSoundCaptureBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer.
-
IDirectSoundCaptureBuffer8::GetCurrentPosition
Address of a variable that receives the offset from the start of the buffer, in bytes, of the capture cursor. The parameter can be null if this value is not wanted.
-
IDirectSoundCaptureBuffer8::GetFormat
The GetFormat method retrieves the waveform format of the capture buffer.
-
IDirectSoundCaptureBuffer8::GetStatus
The GetStatus method retrieves the status of the capture buffer.
-
The LPDIRECTSOUNDCaptureBuffer8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDCaptureBuffer8;
-
+ No documentation.
- ee418162IDirectSoundCaptureBuffer8IDirectSoundCaptureBuffer8
-
The interface is used to manipulate sound capture buffers.
To obtain the interface, call the IDirectSoundCapture8::CreateCaptureBuffer method to obtain , then pass IID_IDirectSoundCaptureBuffer8 to IDirectSoundCaptureBuffer::QueryInterface.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Capture Management
Method
-
Description
-
IDirectSoundCaptureBuffer8::Lock
The Lock method locks a portion of the buffer. Locking the buffer returns references into the buffer, allowing the application to read or write audio data into memory.
-
IDirectSoundCaptureBuffer8::Start
The Start method begins capturing data into the buffer. If the buffer is already capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Stop
The Stop method stops the buffer so that it is no longer capturing data. If the buffer is not capturing, the method has no effect.
-
IDirectSoundCaptureBuffer8::Unlock
The Unlock method unlocks the buffer.
-
Effects
Method
-
Description
-
The GetFXStatus method retrieves the status of capture effects.
-
The GetObjectInPath method retrieves an interface to an effect object associated with the buffer.
-
Initialization
Method
-
Description
-
IDirectSoundCaptureBuffer8::Initialize
The Initialize method initializes a capture buffer object. Because the IDirectSoundCapture8::CreateCaptureBufferIDirectSoundCapture8::CreateCaptureBuffer
-
Information
Method
-
Description
-
IDirectSoundCaptureBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer.
-
IDirectSoundCaptureBuffer8::GetCurrentPosition
Address of a variable that receives the offset from the start of the buffer, in bytes, of the capture cursor. The parameter can be null if this value is not wanted.
-
IDirectSoundCaptureBuffer8::GetFormat
The GetFormat method retrieves the waveform format of the capture buffer.
-
IDirectSoundCaptureBuffer8::GetStatus
The GetStatus method retrieves the status of the capture buffer.
-
The LPDIRECTSOUNDCaptureBuffer8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDCaptureBuffer8;
-
+ No documentation.
- ee418162IDirectSoundCaptureBufferIDirectSoundCaptureBuffer
@@ -461,32 +391,30 @@
Pointer to a structure that receives information about the capture buffer. On input, the dwSize member must specify the size of the structure in bytes.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_UNSUPPORTED
DSERR_OUTOFMEMORY
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getcaps
+ ee418164HRESULT IDirectSoundCaptureBuffer::GetCaps([Out] DSCBCAPS* pDSCBCaps)IDirectSoundCaptureBuffer::GetCaps
- The GetCurrentPosition method retrieves the positions of the capture and read cursors in the buffer.
The capture cursor is ahead of the read cursor. The data after the read position up to and including the capture position is not necessarily valid data.
+ No documentation.
-
Address of a variable that receives the offset from the start of the buffer, in bytes, of the capture cursor. The parameter can be null if this value is not wanted.
-
Address of a variable that receives the offset from the start of the buffer, in bytes, of the read cursor.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_NODRIVER
DSERR_OUTOFMEMORY
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getcurrentpositionHRESULT IDirectSoundCaptureBuffer::GetCurrentPosition([Out, Optional] unsigned int* pdwCapturePosition,[Out, Optional] unsigned int* pdwReadPosition)IDirectSoundCaptureBuffer::GetCurrentPosition
- The GetFormat method retrieves the waveform format of the capture buffer.
+ No documentation.
-
Address of a structure that receives a description of the sound data in the capture buffer. To retrieve the buffer size needed to contain the format description, specify null.; in this case, the DWORD pointed to by the pdwSizeWritten parameter receives the size of the structure needed to receive complete format information.
-
Size, in bytes, of the structure. DirectSoundCapture writes, at most, dwSizeAllocated bytes to the structure.
-
Address of a variable that receives the number of bytes written to the structure; or, if pwfxFormat is null, the size of the structure that would be necessary to receive the information. This parameter can be null if the value is not wanted.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getformatHRESULT IDirectSoundCaptureBuffer::GetFormat([In] void* pwfxFormat,[In] unsigned int dwSizeAllocated,[Out, Optional] unsigned int* pdwSizeWritten)IDirectSoundCaptureBuffer::GetFormat
@@ -497,7 +425,7 @@
Address of a variable that receives the status of the capture buffer. The status can be set to one or more of the following:
Value
Description
The buffer is capturing audio data.
The buffer is looping.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
This method accepts an offset and a byte count, and returns two read references and their associated sizes. If the locked portion does not extend to the end of the buffer and wrap to the beginning, the second reference, ppvAudioBytes2, receives null. If the lock does wrap, ppvAudioBytes2 points to the beginning of the buffer.
If the application passes null for the ppvAudioPtr2 and pdwAudioBytes2 parameters, the lock extends no further than the end of the buffer and does not wrap.
The application should read data from the references returned by this method and then immediately call Unlock. The sound buffer should not remain locked while it is running; if it does, the capture cursor will reach the locked bytes and audio problems may result.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.lock
+ ee418179HRESULT IDirectSoundCaptureBuffer::Lock([In] unsigned int dwOffset,[In] unsigned int dwBytes,[Out] void** ppvAudioPtr1,[Out] unsigned int* pdwAudioBytes1,[Out] void** ppvAudioPtr2,[Out, Optional] unsigned int* pdwAudioBytes2,[In] unsigned int dwFlags)IDirectSoundCaptureBuffer::Lock
@@ -531,7 +459,7 @@
If the buffer is already capturing, a call to this method using a different value in dwFlags might not change the value returned by GetStatus.
If the application is multithreaded, the thread that starts the buffer must continue to exist as long as the buffer is capturing. Buffers created on WDM drivers stop capturing when the thread is terminated.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.stop
+ ee418183HRESULT IDirectSoundCaptureBuffer::Stop()IDirectSoundCaptureBuffer::Stop
- The Unlock method unlocks the buffer.
+ No documentation.
-
Address of the value retrieved in the ppvAudioPtr1 parameter of the Lock method.
-
Number of bytes read from the pvAudioPtr1 parameter. See Remarks.
-
Address of the value retrieved in the ppvAudioPtr2 parameter of the IDirectSoundCaptureBuffer8::Lock method.
-
Number of bytes read from the pvAudioPtr2 parameter. See Remarks.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values:
Return code
DSERR_INVALIDPARAM
DSERR_INVALIDCALL
-
-
An application must pass both references, pvAudioPtr1 and pvAudioPtr2, returned by the IDirectSoundCaptureBuffer8::Lock method to ensure the correct pairing of IDirectSoundCaptureBuffer8::Lock and IDirectSoundCaptureBuffer8::Unlock. The second reference is needed even if zero bytes were written to the second reference.
The values in dwAudioBytes1 and dwAudioBytes2 must specify the number of bytes actually read from each part of the buffer, which might be less than the size of the lock. DirectSound uses these values to determine how much data to transfer from the device.
Make sure that the capture buffer does not remain locked for long periods of time.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.unlockHRESULT IDirectSoundCaptureBuffer::Unlock([In, Buffer] void* pvAudioPtr1,[In] unsigned int dwAudioBytes1,[In, Buffer, Optional] void* pvAudioPtr2,[In] unsigned int dwAudioBytes2)IDirectSoundCaptureBuffer::Unlock
@@ -593,7 +517,7 @@
The GetCaps method retrieves the capabilities of the buffer.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getcaps
+ ee418164GetCapsGetCapsHRESULT IDirectSoundCaptureBuffer::GetCaps([Out] DSCBCAPS* pDSCBCaps)
@@ -603,7 +527,7 @@
The GetStatus method retrieves the status of the capture buffer.
- microsoft.directx_sdk.idirectsoundcapturebuffer8.idirectsoundcapturebuffer8.getstatus
+ ee418174GetStatusGetStatusHRESULT IDirectSoundCaptureBuffer::GetStatus([Out] DSCBSTATUS_FLAGS* pdwStatus)
@@ -685,10 +609,9 @@
- The structure describes the capabilities of a capture buffer. It is used by theIDirectSoundCaptureBuffer8::GetCapsmethod.
+ No documentation.
- microsoft.directx_sdk.reference.dscbcapsDSCBCAPSDSCBCAPS
@@ -702,7 +625,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsunsigned int dwSizeunsigned int dwSize
@@ -711,7 +633,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsDSCBCAPS_FLAGS dwFlagsDSCBCAPS_FLAGS dwFlags
@@ -720,7 +641,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsunsigned int dwBufferBytesunsigned int dwBufferBytes
@@ -729,19 +649,14 @@
No documentation.
- microsoft.directx_sdk.reference.dscbcapsunsigned int dwReservedunsigned int dwReserved
- The structure describes a capture buffer. It is used by theIDirectSoundCapture8::CreateCaptureBuffermethod and by theDirectSoundFullDuplexCreate8function.
An earlier version of this structure, DSCBUFFERDESC1, is maintained in Dsound.h for compatibility with DirectX 7 and earlier.
+ No documentation.
-
-
The flag is supported only on buffers created by an object of class CLSID_DirectSoundCapture8. If the IDirectSoundCapture8 interface was obtained from the DirectSoundCaptureCreate8 function, this flag is supported; if it was obtained from the earlier DirectSoundCaptureCreate function, it is not supported.
Capture effects require Microsoft Windows XP.
-
- microsoft.directx_sdk.reference.dscbufferdescDSCBUFFERDESCDSCBUFFERDESC
@@ -755,7 +670,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwSizeunsigned int dwSize
@@ -764,7 +678,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescDSCBCAPS_FLAGS dwFlagsDSCBCAPS_FLAGS dwFlags
@@ -773,7 +686,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwBufferBytesunsigned int dwBufferBytes
@@ -782,7 +694,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwReservedunsigned int dwReserved
@@ -791,7 +702,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescWAVEFORMATEX* lpwfxFormatWAVEFORMATEX lpwfxFormat
@@ -800,7 +710,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescunsigned int dwFXCountunsigned int dwFXCount
@@ -809,7 +718,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscbufferdescDSCEFFECTDESC* lpDSCFXDescDSCEFFECTDESC lpDSCFXDesc
@@ -987,14 +895,9 @@
-
The IDirectSoundFXChorus8 interface is used to set and retrieve effect parameters on a buffer that supports chorus.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXChorus8 interface exposes the following methods.
IDirectSoundFXChorus8 Members
Method
-
Description
-
IDirectSoundFXChorus8::GetAllParameters
The GetAllParameters method retrieves the chorus parameters of a buffer.
-
IDirectSoundFXChorus8::SetAllParameters
The SetAllParameters method sets the chorus parameters of a buffer.
-
+ No documentation.
- ee418208IDirectSoundFXChorusIDirectSoundFXChorus
@@ -1145,46 +1048,38 @@
- The SetAllParameters method sets the chorus parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxchorus8.idirectsoundfxchorus8.setallparametersHRESULT IDirectSoundFXChorus::SetAllParameters([In] const DSFXChorus* pcDsFxChorus)IDirectSoundFXChorus::SetAllParameters
- The GetAllParameters method retrieves the chorus parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxchorus8.idirectsoundfxchorus8.getallparametersHRESULT IDirectSoundFXChorus::GetAllParameters([Out] DSFXChorus* pDsFxChorus)IDirectSoundFXChorus::GetAllParameters
- The GetAllParameters method retrieves the chorus parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxchorus8.idirectsoundfxchorus8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXChorus::GetAllParameters([Out] DSFXChorus* pDsFxChorus)
-
The IDirectSoundFXCompressor8 interface is used to set and retrieve effect parameters on a buffer that supports compression.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXCompressor8 interface exposes the following methods.
IDirectSoundFXCompressor8 Members
Method
-
Description
-
IDirectSoundFXCompressor8::GetAllParameters
The GetAllParameters method retrieves the compression parameters of a buffer.
-
IDirectSoundFXCompressor8::SetAllParameters
The SetAllParameters method sets the compression parameters of a buffer.
-
+ No documentation.
- ee418215IDirectSoundFXCompressorIDirectSoundFXCompressor
@@ -1295,12 +1190,11 @@
- The SetAllParameters method sets the compression parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxcompressor8.idirectsoundfxcompressor8.setallparametersHRESULT IDirectSoundFXCompressor::SetAllParameters([In] const DSFXCompressor* pcDsFxCompressor)IDirectSoundFXCompressor::SetAllParameters
@@ -1311,7 +1205,7 @@
Address of a structure that receives the effect parameters.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxcompressor8.idirectsoundfxcompressor8.getallparameters
+ ee418216HRESULT IDirectSoundFXCompressor::GetAllParameters([Out] DSFXCompressor* pDsFxCompressor)IDirectSoundFXCompressor::GetAllParameters
@@ -1320,7 +1214,7 @@
The GetAllParameters method retrieves the compression parameters of a buffer.
- microsoft.directx_sdk.idirectsoundfxcompressor8.idirectsoundfxcompressor8.getallparameters
+ ee418216GetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXCompressor::GetAllParameters([Out] DSFXCompressor* pDsFxCompressor)
@@ -1355,49 +1249,17 @@
-
The interface is used to create buffer objects, manage devices, and set up the environment. This interface supersedes and adds new methods.
Obtain this interface by using the DirectSoundCreate8 or DirectSoundFullDuplexCreate8 function, or by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSound8.
In addition to the methods inherited from , the interface exposes the following methods.
IDirectSound8 Members
Method
-
Description
-
IDirectSound8::Compact
The Compact method has no effect.
-
IDirectSound8::CreateSoundBuffer
The CreateSoundBuffer method creates a sound buffer object to manage audio samples.
-
IDirectSound8::DuplicateSoundBuffer
The DuplicateSoundBuffer method creates a new secondary buffer that shares the original buffer's memory.
-
IDirectSound8::GetCaps
The GetCaps method retrieves the capabilities of the hardware device that is represented by the device object.
-
IDirectSound8::GetSpeakerConfig
The GetSpeakerConfig method retrieves the speaker configuration.
-
IDirectSound8::Initialize
The Initialize method initializes a device object that was created by using the CoCreateInstance function.
-
IDirectSound8::SetCooperativeLevel
The SetCooperativeLevel method sets the cooperative level of the application for this sound device.
-
IDirectSound8::SetSpeakerConfig
The SetSpeakerConfig method specifies the speaker configuration of the device.
-
The VerifyCertification method ascertains whether the device driver is certified for DirectX.
-
The LPDIRECTSOUND8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUND8;
-
+ No documentation.
-
-
Only objects of class CLSID_DirectSound8 support this interface. All device objects created by DirectSoundCreate8 and DirectSoundFullDuplexCreate8 fall into this category. Objects of class CLSID_DirectSound, which include all those created by using the earlier DirectSoundCreate function, support only the earlier interface.
The behavior of CLSID_DirectSound8 objects is somewhat different from that of CLSID_DirectSound objects. These differences are found in the interface as well as the interface. Specific differences in the behavior of the newer object include the following:
In calls to and CreateSoundBuffer, cannot be set on a buffer with a non-mono format, and cannot be combined with .
New buffer creation flags are supported.
Buffers are not filled with silence on creation.
The interface returned by CreateSoundBuffer can be queried for the interface.
WAV formats in the structure that have the format tag are checked more strictly for validity.
-
- ee418035IDirectSound8IDirectSound8
-
The interface is used to create buffer objects, manage devices, and set up the environment. This interface supersedes and adds new methods.
Obtain this interface by using the DirectSoundCreate8 or DirectSoundFullDuplexCreate8 function, or by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSound8.
In addition to the methods inherited from , the interface exposes the following methods.
IDirectSound8 Members
Method
-
Description
-
IDirectSound8::Compact
The Compact method has no effect.
-
IDirectSound8::CreateSoundBuffer
The CreateSoundBuffer method creates a sound buffer object to manage audio samples.
-
IDirectSound8::DuplicateSoundBuffer
The DuplicateSoundBuffer method creates a new secondary buffer that shares the original buffer's memory.
-
IDirectSound8::GetCaps
The GetCaps method retrieves the capabilities of the hardware device that is represented by the device object.
-
IDirectSound8::GetSpeakerConfig
The GetSpeakerConfig method retrieves the speaker configuration.
-
IDirectSound8::Initialize
The Initialize method initializes a device object that was created by using the CoCreateInstance function.
-
IDirectSound8::SetCooperativeLevel
The SetCooperativeLevel method sets the cooperative level of the application for this sound device.
-
IDirectSound8::SetSpeakerConfig
The SetSpeakerConfig method specifies the speaker configuration of the device.
-
The VerifyCertification method ascertains whether the device driver is certified for DirectX.
-
The LPDIRECTSOUND8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUND8;
-
+ No documentation.
-
-
Only objects of class CLSID_DirectSound8 support this interface. All device objects created by DirectSoundCreate8 and DirectSoundFullDuplexCreate8 fall into this category. Objects of class CLSID_DirectSound, which include all those created by using the earlier DirectSoundCreate function, support only the earlier interface.
The behavior of CLSID_DirectSound8 objects is somewhat different from that of CLSID_DirectSound objects. These differences are found in the interface as well as the interface. Specific differences in the behavior of the newer object include the following:
In calls to and CreateSoundBuffer, cannot be set on a buffer with a non-mono format, and cannot be combined with .
New buffer creation flags are supported.
Buffers are not filled with silence on creation.
The interface returned by CreateSoundBuffer can be queried for the interface.
WAV formats in the structure that have the format tag are checked more strictly for validity.
DirectSound does not initialize the contents of the buffer, and the application cannot assume that it contains silence.
If an attempt is made to create a buffer with the flag on a system where hardware acceleration is not available, the method fails with either DSERR_CONTROLUNAVAIL or DSERR_INVALIDCALL, depending on the operating system.
Information retrieved in the structure describes the maximum capabilities of the sound device and those currently available, such as the number of hardware mixing channels and the amount of on-board sound memory. You can use this information to fine-tune performance and optimize resource allocation.
Because of resource-sharing requirements, the maximum capabilities in one area might be available only at the cost of another area.
- microsoft.directx_sdk.idirectsound8.idirectsound8.getcaps
+ ee418043HRESULT IDirectSound::GetCaps([Out] DSCAPS* pDSCaps)IDirectSound::GetCaps
- The DuplicateSoundBuffer method creates a new secondary buffer that shares the original buffer's memory.
+ No documentation.
-
Address of the or interface of the buffer to duplicate.
-
Address of a variable that receives the interface reference for the new buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_ALLOCATED
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
DSERR_UNINITIALIZED
-
-
This method is not valid for buffers created with the flag.
Initially, the duplicate buffer will have the same parameters as the original buffer. However, the application can change the parameters of each buffer independently, and each can be played or stopped without affecting the other.
The buffer memory is released when the last object referencing it is released.
There is a known issue with volume levels of duplicated buffers. The duplicated buffer will play at full volume unless you change the volume to a different value than the original buffer's volume setting. If the volume stays the same (even if you explicitly set the same volume in the duplicated buffer with a IDirectSoundBuffer8::SetVolume call), the buffer will play at full volume regardless. To work around this problem, immediately set the volume of the duplicated buffer to something slightly different than what it was, even if you change it one millibel. The volume may then be immediately set back again to the original desired value.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound8.idirectsound8.duplicatesoundbufferHRESULT IDirectSound::DuplicateSoundBuffer([In] IDirectSoundBuffer* pDSBufferOriginal,[Out] void** ppDSBufferDuplicate)IDirectSound::DuplicateSoundBuffer
- The SetCooperativeLevel method sets the cooperative level of the application for this sound device.
+ No documentation.
-
Handle to the application window.
-
Requested level. Specify one of the values shown in the following table.
Value
Description
For DirectX 8.0 and later, has the same effect as . For previous versions, sets the application to the exclusive level. This means that when it has the input focus, the application will be the only one audible; sounds from applications with the flag set will be muted. With this level, it also has all the privileges of the level. DirectSound will restore the hardware format, as specified by the most recent call to the SetFormat method, after the application gains the input focus.
Sets the normal level. This level has the smoothest multitasking and resource-sharing behavior, but because it does not allow the primary buffer format to change, output is restricted to the default 8-bit format.
Sets the priority level. Applications with this cooperative level can call the SetFormat and Compact methods.
Sets the write-primary level. The application has write access to the primary buffer. No secondary buffers can be played. This level cannot be set if the DirectSound driver is being emulated for the device; that is, if the GetCaps method returns the flag in the structure.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the error values shown in the following table.
Return code
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_UNINITIALIZED
DSERR_UNSUPPORTED
-
-
The application must set the cooperative level by calling this method before its buffers can be played. The recommended cooperative level is .
Do not call this method if any buffers are locked.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound8.idirectsound8.setcooperativelevelHRESULT IDirectSound::SetCooperativeLevel([In] HWND hwnd,[In] DSSCL_ENUM dwLevel)IDirectSound::SetCooperativeLevel
- The Compact method has no effect.
+ No documentation.
-
The return value is DS_OK.
-
-
This method was formerly used for compacting the on-board memory of ISA sound cards.
The value returned at pdwSpeakerConfig can be a packed DWORD containing both configuration and geometry information. Use the DSSPEAKER_CONFIG and DSSPEAKER_GEOMETRY macros to unpack the DWORD, as in the following example:
if (DSSPEAKER_CONFIG(dwSpeakerConfig) == ) { if (DSSPEAKER_GEOMETRY(dwSpeakerConfig) == ) { // Configuration is wide stereo. ...} }
To use #defines implemented in Windows Vista, set the DIRECTSOUND_VERSION to 0x1000 before including dsound.h.
The speaker configuration. See the following remarks.
No documentation.
- microsoft.directx_sdk.idirectsound8.idirectsound8.setspeakerconfig
+ ee418050HRESULT IDirectSound::SetSpeakerConfig([In] unsigned int dwSpeakerConfig)IDirectSound::SetSpeakerConfig
@@ -1522,7 +1372,7 @@
Information retrieved in the structure describes the maximum capabilities of the sound device and those currently available, such as the number of hardware mixing channels and the amount of on-board sound memory. You can use this information to fine-tune performance and optimize resource allocation.
Because of resource-sharing requirements, the maximum capabilities in one area might be available only at the cost of another area.
The IDirectSoundCapture8 interface is used to create sound capture buffers.
The interface is obtained by using the DirectSoundCaptureCreate8 or DirectSoundFullDuplexCreate8 functions, or by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSoundCapture8.
IDirectSoundCapture8 is a define for . The two interface names are interchangeable. However, objects supporting this interface can have different functionality, depending on their class. For more information, see DirectSoundCaptureCreate8 and IDirectSoundCapture8::CreateCaptureBuffer.
In addition to the methods inherited from , the IDirectSoundCapture8 interface exposes the following methods.
IDirectSoundCapture8 Members
Method
-
Description
-
IDirectSoundCapture8::CreateCaptureBuffer
The CreateCaptureBuffer method creates a buffer for capturing waveform audio.
-
IDirectSoundCapture8::GetCaps
The GetCaps method retrieves the capabilities of the capture device.
-
IDirectSoundCapture8::Initialize
The Initialize method initializes a capture device object created by using CoCreateInstance. Calling this method is not required when the DirectSoundCaptureCreate8 or DirectSoundFullDuplexCreate8 function is used to create the object.
-
The LPDIRECTSOUNDCAPTURE type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDCAPTURE;
-
+ No documentation.
- ee418154IDirectSoundCaptureIDirectSoundCapture
@@ -1662,7 +1505,7 @@
On Microsoft Windows98 and Windows2000, each capture device supports a single buffer.
The interface is supported only on buffers created by an object of class CLSID_DirectSoundCapture8. If the IDirectSoundCapture8 interface was obtained from DirectSoundCaptureCreate8, is supported. If IDirectSoundCapture8 was obtained from the earlier DirectSoundCaptureCreate function, only is supported.
Pointer to a structure to be receive information about the capture device. When the method is called, the dwSize member must specify the size of the structure in bytes.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_UNSUPPORTED
DSERR_NODRIVER
DSERR_OUTOFMEMORY
DSERR_UNINITIALIZED
- microsoft.directx_sdk.idirectsoundcapture8.idirectsoundcapture8.getcaps
+ ee418158HRESULT IDirectSoundCapture::GetCaps([Out] DSCCAPS* pDSCCaps)IDirectSoundCapture::GetCaps
@@ -1682,21 +1525,16 @@
The GetCaps method retrieves the capabilities of the capture device.
- microsoft.directx_sdk.idirectsoundcapture8.idirectsoundcapture8.getcaps
+ ee418158GetCapsGetCapsHRESULT IDirectSoundCapture::GetCaps([Out] DSCCAPS* pDSCCaps)
-
The IDirectSoundFXDistortion8 interface is used to set and retrieve effect parameters on a buffer that supports distortion.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXDistortion8 interface exposes the following methods.
IDirectSoundFXDistortion8 Members
Method
-
Description
-
IDirectSoundFXDistortion8::GetAllParameters
The GetAllParameters method retrieves the distortion parameters of a buffer.
-
IDirectSoundFXDistortion8::SetAllParameters
The SetAllParameters method sets the distortion parameters of a buffer.
-
+ No documentation.
- ee418218IDirectSoundFXDistortionIDirectSoundFXDistortion
@@ -1797,7 +1635,7 @@
Address of a structure that specifies the effect parameters.
If the method succeeds, the return value is DS_OK or S_FALSE. See the Remarks for . If the method fails, the return value may be DSERR_INVALIDPARAM.
Address of a structure that receives the effect parameters.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxdistortion8.idirectsoundfxdistortion8.getallparameters
+ ee418219HRESULT IDirectSoundFXDistortion::GetAllParameters([Out] DSFXDistortion* pDsFxDistortion)IDirectSoundFXDistortion::GetAllParameters
@@ -1817,21 +1655,16 @@
The GetAllParameters method retrieves the distortion parameters of a buffer.
- microsoft.directx_sdk.idirectsoundfxdistortion8.idirectsoundfxdistortion8.getallparameters
+ ee418219GetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXDistortion::GetAllParameters([Out] DSFXDistortion* pDsFxDistortion)
-
The IDirectSoundFXEcho8 interface is used to set and retrieve effect parameters on a buffer that supports echo.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXEcho8 interface exposes the following methods.
IDirectSoundFXEcho8 Members
Method
-
Description
-
IDirectSoundFXEcho8::GetAllParameters
The GetAllParameters method retrieves the echo parameters of a buffer.
-
IDirectSoundFXEcho8::SetAllParameters
The SetAllParameters method sets the echo parameters of a buffer.
-
+ No documentation.
- ee418221IDirectSoundFXEchoIDirectSoundFXEcho
@@ -1932,27 +1765,25 @@
Address of a structure that specifies the effect parameters.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxecho8.idirectsoundfxecho8.setallparameters
+ ee418224HRESULT IDirectSoundFXEcho::SetAllParameters([In] const DSFXEcho* pcDsFxEcho)IDirectSoundFXEcho::SetAllParameters
- The GetAllParameters method retrieves the echo parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxecho8.idirectsoundfxecho8.getallparametersHRESULT IDirectSoundFXEcho::GetAllParameters([Out] DSFXEcho* pDsFxEcho)IDirectSoundFXEcho::GetAllParameters
- The GetAllParameters method retrieves the echo parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxecho8.idirectsoundfxecho8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXEcho::GetAllParameters([Out] DSFXEcho* pDsFxEcho)
@@ -1967,41 +1798,9 @@
-
The IDirectSound3DBuffer8 interface is used to retrieve and set parameters that describe the position, orientation, and environment of a sound buffer in 3D space.
IDirectSound3DBuffer8 is a define for . The two interface names are interchangeable.
The IDirectSound3DBuffer8 interface is obtained from a buffer that was created with the flag. You can get it from the interface by using the QueryInterface method.
In addition to the methods inherited from , the IDirectSound3DBuffer8 interface exposes the following methods, arranged by category.
3D mode
Method
-
Description
-
IDirectSound3DBuffer8::GetMode
The GetMode method retrieves the operation mode for 3D sound processing.
-
IDirectSound3DBuffer8::SetMode
The SetMode method sets the operation mode for 3D sound processing.
-
Batch Parameters
Method
-
Description
-
IDirectSound3DBuffer8::GetAllParameters
The GetAllParameters method retrieves the 3D properties of the sound buffer.
-
IDirectSound3DBuffer8::SetAllParameters
The SetAllParameters method sets all 3D sound buffer properties.
-
Minimum and Maximum Distance
Method
-
Description
-
IDirectSound3DBuffer8::GetMaxDistance
The GetMaxDistance method retrieves the maximum distance, which is the distance from the listener beyond which sounds in this buffer are no longer attenuated.
-
IDirectSound3DBuffer8::GetMinDistance
The GetMinDistance method retrieves the minimum distance, which is the distance from the listener at which sounds in this buffer begin to be attenuated.
-
IDirectSound3DBuffer8::SetMaxDistance
The SetMaxDistance method sets the maximum distance, which is the distance from the listener beyond which sounds in this buffer are no longer attenuated.
-
IDirectSound3DBuffer8::SetMinDistance
The SetMinDistance method sets the minimum distance, which is the distance from the listener at which sounds in this buffer begin to be attenuated.
-
Position
Method
-
Description
-
IDirectSound3DBuffer8::GetPosition
The GetPosition method retrieves the position of the sound source.
-
IDirectSound3DBuffer8::SetPosition
The SetPosition method sets the position of the sound source.
-
Sound Projection Cone
Method
-
Description
-
IDirectSound3DBuffer8::GetConeAngles
The GetConeAngles method retrieves the inside and outside angles of the sound projection cone.
-
IDirectSound3DBuffer8::GetConeOrientation
The GetConeOrientation method retrieves the orientation of the sound projection cone.
-
IDirectSound3DBuffer8::GetConeOutsideVolume
The GetConeOutsideVolume method retrieves the volume of the sound outside the outside angle of the sound projection cone.
-
IDirectSound3DBuffer8::SetConeAngles
The SetConeAngles method sets the inside and outside angles of the sound projection cone.
-
IDirectSound3DBuffer8::SetConeOrientation
The SetConeOrientation method sets the orientation of the sound projection cone.
-
IDirectSound3DBuffer8::SetConeOutsideVolume
The SetConeOutsideVolume method sets the volume of the sound outside the outside angle of the sound projection cone.
-
Velocity
Method
-
Description
-
IDirectSound3DBuffer8::GetVelocity
The GetVelocity method retrieves the velocity of the sound source.
-
IDirectSound3DBuffer8::SetVelocity
The SetVelocity method sets the velocity of the sound source.
-
The LPDIRECTSOUND3DBUFFER type is defined as a reference to the IDirectSound3DBuffer8 interface:
typedef struct *LPDIRECTSOUND3DBUFFER;
-
+ No documentation.
- ee417960IDirectSound3DBufferIDirectSound3DBuffer
@@ -2064,7 +1863,7 @@
Address of a structure that receives the information describing the 3D characteristics of the sound buffer.
If the method succeeds, the return value is DS_OK.
If the method fails, the return value may be DSERR_INVALIDPARAM.
The values returned are not necessarily the same as those set by using the SetConeOrientation method. DirectSound normalizes orientation vectors so that all axes have a magnitude of less than or equal to 1.0.
Volume levels are expressed as attenuation, in hundredths of a decibel. Allowable values are between (no attenuation) and (silence). The default value is DS3D_DEFAULTCONEOUTSIDEVOLUME (no attenuation). These values are defined in Dsound.h. DirectSound does not support amplification.
By default, the minimum distance value is DS3D_DEFAULTMINDISTANCE, defined as 1.0 (corresponding to 1.0 meter at the default distance factor of 1.0 meters per unit).
Address of a variable that receives the mode setting. This value will be one of those in the following table.
Value
Description
Processing of 3D sound is disabled. The sound seems to originate from the center of the listener's head.
Sound parameters (position, velocity, and orientation) are relative to the listener's parameters. In this mode, the absolute parameters of the sound are updated automatically as the listener's parameters change, so that the relative parameters remain constant.
Normal processing. This is the default mode.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmode
+ ee417975HRESULT IDirectSound3DBuffer::GetMode([Out] unsigned int* pdwMode)IDirectSound3DBuffer::GetMode
- The GetPosition method retrieves the position of the sound source.
+ No documentation.
-
Address of a structure that receives the position of the sound buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
By default, distance units are meters, but the units can be changed by using the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getpositionHRESULT IDirectSound3DBuffer::GetPosition([Out] D3DVECTOR* pvPosition)IDirectSound3DBuffer::GetPosition
@@ -2174,19 +1969,18 @@
Velocity is used for Doppler effects only. It does not actually move the buffer. For more information, see Doppler Effect.
The default unit of measurement is meters per second, but this can be changed by using the SetDistanceFactor method.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getvelocity
+ ee417979HRESULT IDirectSound3DBuffer::GetVelocity([Out] D3DVECTOR* pvVelocity)IDirectSound3DBuffer::GetVelocity
- The SetAllParameters method sets all 3D sound buffer properties.
+ No documentation.
-
Address of a structure that describes the 3D characteristics of the sound buffer.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setallparametersHRESULT IDirectSound3DBuffer::SetAllParameters([In] const DS3DBUFFER* pcDs3dBuffer,[In] unsigned int dwApply)IDirectSound3DBuffer::SetAllParameters
@@ -2202,7 +1996,7 @@
The minimum, maximum, and default cone angles are defined in Dsound.h as DS3D_MINCONEANGLE, DS3D_MAXCONEANGLE, and DS3D_DEFAULTCONEANGLE. Each angle must be in the range of 0 degrees (no cone) to 360 degrees (the full sphere). The default value is 360.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setconeangles
+ ee417984HRESULT IDirectSound3DBuffer::SetConeAngles([In] unsigned int dwInsideConeAngle,[In] unsigned int dwOutsideConeAngle,[In] unsigned int dwApply)IDirectSound3DBuffer::SetConeAngles
@@ -2219,7 +2013,7 @@
This method has no effect unless the cone angle and cone outside volume have also been set to values other than the default.
Volume levels are represented by attenuation. Allowable values are between (no attenuation) and (silence). The default value is DS3D_DEFAULTCONEOUTSIDEVOLUME (no attenuation). These values are defined in Dsound.h. DirectSound does not support amplification.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setconeoutsidevolume
+ ee417987HRESULT IDirectSound3DBuffer::SetConeOutsideVolume([In] int lConeOutsideVolume,[In] unsigned int dwApply)IDirectSound3DBuffer::SetConeOutsideVolume
@@ -2249,7 +2043,7 @@
The default maximum distance, defined as DS3D_DEFAULTMAXDISTANCE, is effectively infinite.
The default unit of measurement is meters, but this can be changed by using the SetDistanceFactor method.
By default, the minimum distance value is DS3D_DEFAULTMINDISTANCE, defined as 1.0 (corresponding to 1.0 meter at the default distance factor of 1.0 meters per unit).
The default unit of measurement is meters, but this can be changed by using the SetDistanceFactor method.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setmindistance
+ ee417991HRESULT IDirectSound3DBuffer::SetMinDistance([In] float flMinDistance,[In] unsigned int dwApply)IDirectSound3DBuffer::SetMinDistance
- The SetMode method sets the operation mode for 3D sound processing.
+ No documentation.
-
Flag specifying the 3D sound processing mode to be set. The flags in the following table are defined.
Value
Description
Processing of 3D sound is disabled. The sound seems to originate from the center of the listener's head.
Sound parameters (position, velocity, and orientation) are relative to the listener's parameters. In this mode, the absolute parameters of the sound are updated automatically as the listener's parameters change, so that the relative parameters remain constant.
Normal processing. This is the default mode.
-
Value that specifies when the setting should be applied. This value must be one of those in the following table.
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.setmodeHRESULT IDirectSound3DBuffer::SetMode([In] unsigned int dwMode,[In] unsigned int dwApply)IDirectSound3DBuffer::SetMode
@@ -2293,7 +2086,7 @@
The default unit of measurement is meters, but this can be changed by using the SetDistanceFactor method.
Custom effects can be implemented as DMOs. Effect DMOs must implement the and interfaces.
If dwFlags is zero, the effect is placed in hardware if possible. If the hardware does not support the effect (always the case since DirectX 9.0), software is used. If the effect is not available at all, the call to SetFX fails.
The IDirectSoundFXFlanger8 interface is used to set and retrieve effect parameters on a buffer that supports flange.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXFlanger8 interface exposes the following methods.
IDirectSoundFXFlanger8 Members
Method
-
Description
-
IDirectSoundFXFlanger8::GetAllParameters
The GetAllParameters method retrieves the flange parameters of a buffer.
-
IDirectSoundFXFlanger8::SetAllParameters
The SetAllParameters method sets the flange parameters of a buffer.
-
+ No documentation.
- ee418225IDirectSoundFXFlangerIDirectSoundFXFlanger
@@ -2639,46 +2427,38 @@
- The SetAllParameters method sets the flange parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxflanger8.idirectsoundfxflanger8.setallparametersHRESULT IDirectSoundFXFlanger::SetAllParameters([In] const DSFXFlanger* pcDsFxFlanger)IDirectSoundFXFlanger::SetAllParameters
- The GetAllParameters method retrieves the flange parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxflanger8.idirectsoundfxflanger8.getallparametersHRESULT IDirectSoundFXFlanger::GetAllParameters([Out] DSFXFlanger* pDsFxFlanger)IDirectSoundFXFlanger::GetAllParameters
- The GetAllParameters method retrieves the flange parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxflanger8.idirectsoundfxflanger8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXFlanger::GetAllParameters([Out] DSFXFlanger* pDsFxFlanger)
-
The IDirectSoundFullDuplex8 interface represents a full-duplex stream.
The interface is obtained by using the DirectSoundFullDuplexCreate8 function. This function initializes DirectSound capture and playback.
The interface can also be obtained by using CoCreateInstance or CoCreateInstanceEx to create an object of class CLSID_DirectSoundFullDuplex8.
IDirectSoundFullDuplex8 is a define for . The interface names are interchangeable.
In addition to the methods inherited from , the IDirectSoundFullDuplex8 interface exposes the following method.
IDirectSoundFullDuplex8 Members
Method
-
Description
-
IDirectSoundFullDuplex8::Initialize
The Initialize method initializes a full duplex object that was created by using CoCreateInstance.
-
The LPDIRECTSOUNDFULLDUPLEX type is defined as a reference to .
typedef struct *LPDIRECTSOUNDFULLDUPLEX;
-
Info
Operating System: Requires Microsoft Windows XP or later.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
+ No documentation.
- ee418204IDirectSoundFullDuplexIDirectSoundFullDuplex
@@ -2712,14 +2492,9 @@
-
The IDirectSoundFXGargle8 interface is used to set and retrieve effect parameters on a buffer that supports amplitude modulation.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXGargle8 interface exposes the following methods.
IDirectSoundFXGargle8 Members
Method
-
Description
-
IDirectSoundFXGargle8::GetAllParameters
The GetAllParameters method retrieves the amplitude modulation parameters of a buffer.
-
IDirectSoundFXGargle8::SetAllParameters
The SetAllParameters method sets the amplitude modulation parameters of a buffer.
-
+ No documentation.
- ee418228IDirectSoundFXGargleIDirectSoundFXGargle
@@ -2770,92 +2545,70 @@
- The SetAllParameters method sets the amplitude modulation parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value can be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxgargle8.idirectsoundfxgargle8.setallparametersHRESULT IDirectSoundFXGargle::SetAllParameters([In] const DSFXGargle* pcDsFxGargle)IDirectSoundFXGargle::SetAllParameters
- The GetAllParameters method retrieves the amplitude modulation parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value can be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxgargle8.idirectsoundfxgargle8.getallparametersHRESULT IDirectSoundFXGargle::GetAllParameters([Out] DSFXGargle* pDsFxGargle)IDirectSoundFXGargle::GetAllParameters
- The GetAllParameters method retrieves the amplitude modulation parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxgargle8.idirectsoundfxgargle8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXGargle::GetAllParameters([Out] DSFXGargle* pDsFxGargle)
- The structure contains parameters for acoustic echo cancellation in a capture buffer.
+ No documentation.
-
-
The dwMode member is ignored when this structure is passed to IDirectSoundCaptureFXAec8::SetAllParameters.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Boolean value that specifies whether the effect is enabled.
+ No documentation.
- microsoft.directx_sdk.reference.dscfxaecDSCFX_AEC_MODE_PASS_THROUGHDSCFX_AEC_MODE_PASS_THROUGH
-
Boolean value that specifies whether to enable background comfort noise, which makes the capture signal sound more natural by preventing periods of dead silence. By default, background comfort noise is not enabled.
+ No documentation.
- microsoft.directx_sdk.reference.dscfxaecDSCFX_AEC_MODE_HALF_DUPLEXDSCFX_AEC_MODE_HALF_DUPLEX
-
Operation mode. This member contains one of the following values.
Value
-
Description
-
-
The effect is passing capture and render data through without modifying it.
-
-
The effect is running in half duplex mode. Not presently supported.
-
-
The effect is running in full duplex mode.
-
+ No documentation.
- microsoft.directx_sdk.reference.dscfxaecDSCFX_AEC_MODE_FULL_DUPLEXDSCFX_AEC_MODE_FULL_DUPLEX
-
The KSPROPERTY_AEC_STATUS property is used to monitor the status of an AEC node (KSNODETYPE_ACOUSTIC_ECHO_CANCEL). This is an optional property of an AEC node.
+ No documentation.
-
-
The three least significant bits in the AEC status flags (see preceding table) represent the convergence history (CH) of the AEC algorithm. The CH status bits can be used by a Microsoft DirectSound application to determine whether the algorithm has converged and also whether it has remained in the converged state since the time that it started processing data. Depending on the audio hardware, the AEC algorithm might fail to converge, in which case the resulting capture buffer is likely to include the echo from the speakers.
When the filter containing the AEC node is created or the node is reset, the AEC algorithm initially sets the three CH status bits to zero. This setting represents the uninitialized state, AEC_STATUS_FD_HISTORY_UNINITIALIZED.
After the AEC algorithm converges, the CH status switches to the converged state, AEC_STATUS_FD_HISTORY_CONTINUOUSLY_CONVERGED. If the AEC algorithm ever loses convergence, the CH status switches to the diverged state, AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED. Although the status is most likely to switch to the diverged state from the converged state, it might also switch directly from the uninitialized state to the diverged state. After the CH status has switched to the diverged state, it will remain in that state until the algorithm is reset or starvation is detected.
When the AEC system filter detects starvation at any of its four pins--capture in, capture out, render in, or render out--it resets its internal state, including the convergence history.
Note that bit 2 of the three CH status bits is not currently used.
As an alternative to using the CH status bits, the application can monitor the real-time convergence status by checking the AEC_STATUS_FD_CURRENTLY_CONVERGED flag bit. If this bit is set, the algorithm is currently converged. The algorithm can lose convergence temporarily when changes occur in the acoustic path. The real-time convergence flag is filtered to prevent such momentary losses from inappropriately switching the CH status bits to the DSCFX_AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED state.
-
- ff537230DSCFX_AEC_STATUSDSCFX_AEC_STATUS
@@ -2864,7 +2617,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_HISTORY_UNINITIALIZEDDSCFX_AEC_STATUS_HISTORY_UNINITIALIZED
@@ -2873,7 +2625,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGEDDSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED
@@ -2882,7 +2633,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGEDDSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED
@@ -2891,7 +2641,6 @@
No documentation.
- ff537230DSCFX_AEC_STATUS_CURRENTLY_CONVERGEDDSCFX_AEC_STATUS_CURRENTLY_CONVERGED
@@ -3105,13 +2854,9 @@
- The structure describes the capabilities of a device. It is used by theIDirectSound8::GetCapsmethod.
+ No documentation.
-
-
Some audio cards may be unable to report accurately the number of available or free hardware buffers. This can happen, for example, when the card can play more sounds at lower sampling rates than at higher rates. In general, a nonzero value in any of the members relating to number of free hardware buffers signifies that at least one hardware resource of the appropriate type is available.
The unlock transfer rate for software buffers is 0, because the data need not be transferred anywhere. Similarly, the play processing overhead for hardware buffers is 0 because the mixing is done by the sound device.
-
- microsoft.directx_sdk.reference.dscapsDSCAPS_FLAGSDSCAPS_FLAGS
@@ -3120,7 +2865,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARYMONODSCAPS_PRIMARYMONO
@@ -3129,7 +2873,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARYSTEREODSCAPS_PRIMARYSTEREO
@@ -3138,7 +2881,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARY8BITDSCAPS_PRIMARY8BIT
@@ -3147,7 +2889,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_PRIMARY16BITDSCAPS_PRIMARY16BIT
@@ -3156,7 +2897,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_CONTINUOUSRATEDSCAPS_CONTINUOUSRATE
@@ -3165,7 +2905,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_EMULDRIVERDSCAPS_EMULDRIVER
@@ -3174,7 +2913,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_CERTIFIEDDSCAPS_CERTIFIED
@@ -3183,7 +2921,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARYMONODSCAPS_SECONDARYMONO
@@ -3192,7 +2929,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARYSTEREODSCAPS_SECONDARYSTEREO
@@ -3201,7 +2937,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARY8BITDSCAPS_SECONDARY8BIT
@@ -3210,7 +2945,6 @@
No documentation.
- microsoft.directx_sdk.reference.dscapsDSCAPS_SECONDARY16BITDSCAPS_SECONDARY16BIT
@@ -3288,10 +3022,9 @@
- The structure describes the capabilities of the capture device. It is used by theIDirectSoundCapture8::GetCapsmethod.
+ No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_FLAGSDSCCAPS_FLAGS
@@ -3300,7 +3033,6 @@
No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_EMULDRIVERDSCCAPS_EMULDRIVER
@@ -3309,7 +3041,6 @@
No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_CERTIFIEDDSCCAPS_CERTIFIED
@@ -3318,7 +3049,6 @@
No documentation.
- microsoft.directx_sdk.reference.dsccapsDSCCAPS_MULTIPLECAPTUREDSCCAPS_MULTIPLECAPTURE
@@ -3332,41 +3062,25 @@
- The structure contains parameters for an effect associated with a capture buffer.
+ No documentation.
- microsoft.directx_sdk.reference.dsceffectdescDSCFX_ENUMDSCFX_ENUM
-
Size of the structure, in bytes.
+ No documentation.
- microsoft.directx_sdk.reference.dsceffectdescDSCFX_LOCHARDWAREDSCFX_LOCHARDWARE
-
Flags that specify desired parameters of the effect. When this structure is passed to DirectSoundFullDuplexCreate8, or IDirectSoundCapture8::CreateCaptureBuffer, this member must be one of the values shown in the following table.
-
Value
-
Description
-
-
Effect specified by guidDSCFXInstance must be in hardware.
-
-
Effect specified by guidDSCFXInstance must be in software.
-
On return, this member can contain one of the values shown in the following table.
Value
-
Description
-
-
Effect was created in hardware.
-
-
Effect was created in software.
-
+ No documentation.
- microsoft.directx_sdk.reference.dsceffectdescDSCFX_LOCSOFTWAREDSCFX_LOCSOFTWARE
@@ -3764,27 +3478,17 @@
- The GetMode method retrieves the operation mode for 3D sound processing.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODEDS3DMODE
-
Address of a variable that receives the mode setting. This value will be one of those in the following table.
Value
-
Description
-
-
Processing of 3D sound is disabled. The sound seems to originate from the center of the listener's head.
-
-
Sound parameters (position, velocity, and orientation) are relative to the listener's parameters. In this mode, the absolute parameters of the sound are updated automatically as the listener's parameters change, so that the relative parameters remain constant.
-
-
Normal processing. This is the default mode.
-
+ No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODE_NORMALDS3DMODE_NORMAL
@@ -3793,7 +3497,6 @@
No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODE_HEADRELATIVEDS3DMODE_HEADRELATIVE
@@ -3802,7 +3505,6 @@
No documentation.
- microsoft.directx_sdk.idirectsound3dbuffer8.idirectsound3dbuffer8.getmodeDS3DMODE_DISABLEDS3DMODE_DISABLE
@@ -4169,41 +3871,35 @@
- The DirectSoundEnumerate function enumerates the DirectSound drivers installed in the system.
+ No documentation.
-
Address of the DSEnumCallback function that will be called for each device installed in the system.
-
Address of the user-defined context passed to the enumeration callback function every time that function is called.
-
If the function succeeds, it returns DS_OK. If it fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.reference.directsoundenumerateHRESULT DirectSoundEnumerateA([In] __function__stdcall* pDSEnumCallback,[In, Optional] void* pContext)DirectSoundEnumerateA
- The DirectSoundEnumerate function enumerates the DirectSound drivers installed in the system.
+ No documentation.
-
Address of the DSEnumCallback function that will be called for each device installed in the system.
-
Address of the user-defined context passed to the enumeration callback function every time that function is called.
-
If the function succeeds, it returns DS_OK. If it fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.reference.directsoundenumerateHRESULT DirectSoundEnumerateW([In] __function__stdcall* pDSEnumCallback,[In, Optional] void* pContext)DirectSoundEnumerateW
- The DirectSoundCaptureCreate8 function creates and initializes an object that supports the IDirectSoundCapture8 interface. Although the olderDirectSoundCaptureCreatefunction can also be used to obtain theIDirectSoundCapture8interface, the object created by that function cannot be used to create capture buffers that support theIDirectSoundCaptureBuffer8interface.
+ No documentation.
No documentation.
No documentation.
No documentation.
-
If the function succeeds, it returns DS_OK. If it fails, the return value may be one of the following values.
Return Code
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_OUTOFMEMORY
-
-
On sound cards that do not support full duplex, this method will fail and return DSERR_ALLOCATED.
The IDirectSoundCaptureFXAec8 interface is used to set and retrieve parameters on a capture buffer that supports acoustic echo cancellation. This interface requires Microsoft Windows XP or later operating systems.
IDirectSoundCaptureFXAec8 is a define for . The interface names are interchangeable.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundCaptureFXAec8 interface exposes the following methods.
IDirectSoundCaptureFXAec8 Members
Method
-
Description
-
IDirectSoundCaptureFXAec8::GetAllParameters
The IDirectSoundCaptureFXAec8::GetAllParameters method retrieves the acoustic echo cancellation parameters of a buffer.
-
IDirectSoundCaptureFXAec8::GetStatus
The IDirectSoundCaptureFXAec8::GetStatus method retrieves the status of the effect.
-
IDirectSoundCaptureFXAec8::Reset
The IDirectSoundCaptureFXAec8::Reset method resets the effect to its initial state.
-
IDirectSoundCaptureFXAec8::SetAllParameters
The IDirectSoundCaptureFXAec8::SetAllParameters method sets the acoustic echo cancellation parameters of a buffer.
-
The LPDIRECTSOUNDCAPTUREFXAEC8 type is defined as a reference to the IDirectSoundCaptureFXAec8 interface:
Operating System: Requires Microsoft WindowsXP or later.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
+ No documentation.
- ee418187IDirectSoundCaptureFXAecIDirectSoundCaptureFXAec
@@ -4368,29 +4056,21 @@
- The SetAllParameters method sets the acoustic echo cancellation parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values.
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxaec8.idirectsoundcapturefxaec8.setallparametersHRESULT IDirectSoundCaptureFXAec::SetAllParameters([In] const DSCFXAec* pDscFxAec)IDirectSoundCaptureFXAec::SetAllParameters
- The GetAllParameters method retrieves the acoustic echo cancellation parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values.
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxaec8.idirectsoundcapturefxaec8.getallparametersHRESULT IDirectSoundCaptureFXAec::GetAllParameters([Out] DSCFXAec* pDscFxAec)IDirectSoundCaptureFXAec::GetAllParameters
@@ -4404,7 +4084,7 @@
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
The three least significant bits in *pdwStatus describe the convergence history; that is, the success of the effect in canceling the echo. The convergence history can be used by the application to determine if the algorithm has converged and remained in the converged state since it started processing data.
Initially, the AEC algorithm sets the three lower bits to 0 for the uninitialized state (). When the AEC algorithm has converged, the convergence history is switched to the state. If the AEC algorithm ever loses convergence, the convergence history is then transitioned to the state. A transition from to is also possible. The convergence history remains in the state until the algorithm is reset or timely data is no longer arriving on the capture or render stream.
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Applications should not reset an effect except when necessary because it has entered an incorrect state. This might be done in response to user input. An effect must not be reset arbitrarily at startup, because another application might be using the same effect.
- microsoft.directx_sdk.idirectsoundcapturefxaec8.idirectsoundcapturefxaec8.reset
+ ee418192HRESULT IDirectSoundCaptureFXAec::Reset()IDirectSoundCaptureFXAec::Reset
- The GetAllParameters method retrieves the acoustic echo cancellation parameters of a buffer.
+ No documentation.
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
The three least significant bits in *pdwStatus describe the convergence history; that is, the success of the effect in canceling the echo. The convergence history can be used by the application to determine if the algorithm has converged and remained in the converged state since it started processing data.
Initially, the AEC algorithm sets the three lower bits to 0 for the uninitialized state (). When the AEC algorithm has converged, the convergence history is switched to the state. If the AEC algorithm ever loses convergence, the convergence history is then transitioned to the state. A transition from to is also possible. The convergence history remains in the state until the algorithm is reset or timely data is no longer arriving on the capture or render stream.
The IDirectSoundCaptureFXNoiseSuppress8 interface is used to set and retrieve parameters on a capture buffer that supports noise suppression. This interface requires Microsoft WindowsXP or later.
IDirectSoundCaptureFXNoiseSuppress8 is a define for . The interface names are interchangeable.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundCaptureFXNoiseSuppress8 interface exposes the following methods.
Operating System: Requires Microsoft WindowsXP or later.
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
+ No documentation.
- ee418197IDirectSoundCaptureFXNoiseSuppressIDirectSoundCaptureFXNoiseSuppress
@@ -4770,29 +4439,21 @@
- The SetAllParameters method sets the noise suppression parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values:
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxnoisesuppress8.idirectsoundcapturefxnoisesuppress8.setallparametersHRESULT IDirectSoundCaptureFXNoiseSuppress::SetAllParameters([In] const DSCFXNoiseSuppress* pcDscFxNoiseSuppress)IDirectSoundCaptureFXNoiseSuppress::SetAllParameters
- The GetAllParameters method retrieves the noise suppression parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values:
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundcapturefxnoisesuppress8.idirectsoundcapturefxnoisesuppress8.getallparametersHRESULT IDirectSoundCaptureFXNoiseSuppress::GetAllParameters([Out] DSCFXNoiseSuppress* pDscFxNoiseSuppress)IDirectSoundCaptureFXNoiseSuppress::GetAllParameters
@@ -4805,19 +4466,15 @@
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Applications should not reset an effect except when necessary because it has entered an incorrect state. This might be done in response to user input. An effect must not be reset arbitrarily at startup, because another application might be using the same effect.
- microsoft.directx_sdk.idirectsoundcapturefxnoisesuppress8.idirectsoundcapturefxnoisesuppress8.reset
+ ee418201HRESULT IDirectSoundCaptureFXNoiseSuppress::Reset()IDirectSoundCaptureFXNoiseSuppress::Reset
- The GetAllParameters method retrieves the noise suppression parameters of a buffer.
+ No documentation.
-
-
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
The IDirectSoundFXParamEq8 interface is used to set and retrieve effect parameters on a buffer that supports parametric equalizer effects.
In addition to the methods inherited from , the IDirectSoundFXParamEq8 interface exposes the following methods.
IDirectSoundFXParamEq8 Members
Method
-
Description
-
IDirectSoundFXParamEq8::GetAllParameters
The GetAllParameters method retrieves the parametric equalizer parameters of a buffer.
-
IDirectSoundFXParamEq8::SetAllParameters
The SetAllParameters method sets the parametric equalizer parameters of a buffer.
-
+ No documentation.
- ee418238IDirectSoundFXParamEqIDirectSoundFXParamEq
@@ -4907,110 +4559,42 @@
Address of a structure that specifies the effect parameters.
If the method succeeds, the return value is DS_OK or S_FALSE. See the Remarks for . If the method fails, the return value may be DSERR_INVALIDPARAM.
- microsoft.directx_sdk.idirectsoundfxparameq8.idirectsoundfxparameq8.setallparameters
+ ee418240HRESULT IDirectSoundFXParamEq::SetAllParameters([In] const DSFXParamEq* pcDsFxParamEq)IDirectSoundFXParamEq::SetAllParameters
- The GetAllParameters method retrieves the parametric equalizer parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxparameq8.idirectsoundfxparameq8.getallparametersHRESULT IDirectSoundFXParamEq::GetAllParameters([Out] DSFXParamEq* pDsFxParamEq)IDirectSoundFXParamEq::GetAllParameters
- The GetAllParameters method retrieves the parametric equalizer parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxparameq8.idirectsoundfxparameq8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXParamEq::GetAllParameters([Out] DSFXParamEq* pDsFxParamEq)
-
The interface is used to manage sound buffers.
The interface supersedes and adds new methods.
To obtain the interface, use the CreateSoundBuffer method to retrieve , and then pass IID_IDirectSoundBuffer8 to IDirectSoundBuffer::QueryInterface.
For the primary buffer, you must use the interface; is not available. is not documented separately. For documentation, see the corresponding methods.
Not all methods of are valid for primary buffers. For example, SetCurrentPosition will fail. See the reference topics for individual methods.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Effects
Method
-
Description
-
The GetObjectInPath method retrieves an interface for an effect object associated with the buffer.
-
Number of elements in the pDSFXDesc and pdwResultCodes arrays. If this value is 0, pDSFXDesc and pdwResultCodes must both be null. Set to 0 to remove all effects from the buffer.
-
Resource Management
Method
-
Description
-
The AcquireResources method allocates resources for a buffer that was created with the flag in the DSBUFFERDESCDSBUFFERDESC
-
IDirectSoundBuffer8::Restore
The Restore method restores the memory allocation for a lost sound buffer.
-
Play Management
Method
-
Description
-
IDirectSoundBuffer8::GetCurrentPosition
The GetCurrentPosition method retrieves the position of the play and write cursors in the sound buffer.
-
IDirectSoundBuffer8::Lock
The Lock method readies all or part of the buffer for a data write and returns references to which data can be written.
-
IDirectSoundBuffer8::Play
The Play method causes the sound buffer to play, starting at the play cursor.
-
IDirectSoundBuffer8::SetCurrentPosition
The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
-
IDirectSoundBuffer8::Stop
The Stop method causes the sound buffer to stop playing.
-
IDirectSoundBuffer8::Unlock
The Unlock method releases a locked sound buffer.
-
Sound Parameters
Method
-
Description
-
IDirectSoundBuffer8::GetFrequency
The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
-
IDirectSoundBuffer8::GetPan
The GetPan method retrieves the relative volume of the left and right audio channels.
-
IDirectSoundBuffer8::GetVolume
The GetVolume method retrieves the attenuation of the sound.
-
IDirectSoundBuffer8::SetFrequency
The SetFrequency method sets the frequency at which the audio samples are played.
-
IDirectSoundBuffer8::SetPan
The SetPan method sets the relative volume of the left and right channels.
-
IDirectSoundBuffer8::SetVolume
The SetVolume method sets the attenuation of the sound.
-
Miscellaneous
Method
-
Description
-
IDirectSoundBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer object.
-
IDirectSoundBuffer8::GetFormat
The GetFormat method retrieves a description of the format of the sound data in the buffer, or the buffer size needed to retrieve the format description.
-
IDirectSoundBuffer8::GetStatus
The GetStatus method retrieves the status of the sound buffer.
-
IDirectSoundBuffer8::Initialize
The Initialize method initializes a sound buffer object if it has not yet been initialized.
-
IDirectSoundBuffer8::SetFormat
The SetFormat method sets the format of the primary buffer. Whenever this application has the input focus, DirectSound will set the primary buffer to the specified format.
-
The LPDIRECTSOUNDBUFFER8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDBUFFER8;
-
+ No documentation.
- ee418055IDirectSoundBuffer8IDirectSoundBuffer8
-
The interface is used to manage sound buffers.
The interface supersedes and adds new methods.
To obtain the interface, use the CreateSoundBuffer method to retrieve , and then pass IID_IDirectSoundBuffer8 to IDirectSoundBuffer::QueryInterface.
For the primary buffer, you must use the interface; is not available. is not documented separately. For documentation, see the corresponding methods.
Not all methods of are valid for primary buffers. For example, SetCurrentPosition will fail. See the reference topics for individual methods.
In addition to the methods inherited from , the interface exposes the following methods, arranged by category.
Effects
Method
-
Description
-
The GetObjectInPath method retrieves an interface for an effect object associated with the buffer.
-
Number of elements in the pDSFXDesc and pdwResultCodes arrays. If this value is 0, pDSFXDesc and pdwResultCodes must both be null. Set to 0 to remove all effects from the buffer.
-
Resource Management
Method
-
Description
-
The AcquireResources method allocates resources for a buffer that was created with the flag in the DSBUFFERDESCDSBUFFERDESC
-
IDirectSoundBuffer8::Restore
The Restore method restores the memory allocation for a lost sound buffer.
-
Play Management
Method
-
Description
-
IDirectSoundBuffer8::GetCurrentPosition
The GetCurrentPosition method retrieves the position of the play and write cursors in the sound buffer.
-
IDirectSoundBuffer8::Lock
The Lock method readies all or part of the buffer for a data write and returns references to which data can be written.
-
IDirectSoundBuffer8::Play
The Play method causes the sound buffer to play, starting at the play cursor.
-
IDirectSoundBuffer8::SetCurrentPosition
The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
-
IDirectSoundBuffer8::Stop
The Stop method causes the sound buffer to stop playing.
-
IDirectSoundBuffer8::Unlock
The Unlock method releases a locked sound buffer.
-
Sound Parameters
Method
-
Description
-
IDirectSoundBuffer8::GetFrequency
The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
-
IDirectSoundBuffer8::GetPan
The GetPan method retrieves the relative volume of the left and right audio channels.
-
IDirectSoundBuffer8::GetVolume
The GetVolume method retrieves the attenuation of the sound.
-
IDirectSoundBuffer8::SetFrequency
The SetFrequency method sets the frequency at which the audio samples are played.
-
IDirectSoundBuffer8::SetPan
The SetPan method sets the relative volume of the left and right channels.
-
IDirectSoundBuffer8::SetVolume
The SetVolume method sets the attenuation of the sound.
-
Miscellaneous
Method
-
Description
-
IDirectSoundBuffer8::GetCaps
The GetCaps method retrieves the capabilities of the buffer object.
-
IDirectSoundBuffer8::GetFormat
The GetFormat method retrieves a description of the format of the sound data in the buffer, or the buffer size needed to retrieve the format description.
-
IDirectSoundBuffer8::GetStatus
The GetStatus method retrieves the status of the sound buffer.
-
IDirectSoundBuffer8::Initialize
The Initialize method initializes a sound buffer object if it has not yet been initialized.
-
IDirectSoundBuffer8::SetFormat
The SetFormat method sets the format of the primary buffer. Whenever this application has the input focus, DirectSound will set the primary buffer to the specified format.
-
The LPDIRECTSOUNDBUFFER8 type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDBUFFER8;
-
+ No documentation.
- ee418055IDirectSoundBufferIDirectSoundBuffer
@@ -5031,15 +4615,11 @@
- The GetCaps method retrieves the capabilities of the buffer object.
+ No documentation.
-
Address of a structure to contain the capabilities of this sound buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
The structure contains similar information to the structure passed to the CreateSoundBuffer method, with some additional information. This additional information can include the buffer's location, either in hardware or software, and performance measures.
The flags specified in the dwFlags member of the structure are the same flags used by the structure. The only difference is that in the structure, either or will be specified according to the location of the buffer memory. In the structure, these flags are optional and, depending on which flag is specified, force the buffer to be located in either hardware or software.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getcapsHRESULT IDirectSoundBuffer::GetCaps([Out] DSBCAPS* pDSBufferCaps)IDirectSoundBuffer::GetCaps
@@ -5054,7 +4634,7 @@
The write cursor is the point in the buffer ahead of which it is safe to write data to the buffer. Data should not be written to the part of the buffer after the play cursor and before the write cursor.
The format structure can have a variable length that depends on the format. Before retrieving the format description, the application should query the buffer object for the size of the format by calling this method and specifying null for the pwfxFormat parameter. The necessary size of the structure is returned in the pdwSizeWritten parameter. The application can then allocate sufficient memory and call GetFormat again to retrieve the format description.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getformat
+ ee418064HRESULT IDirectSoundBuffer::GetFormat([Out, Buffer, Optional] WAVEFORMATEX* pwfxFormat,[In] unsigned int dwSizeAllocated,[Out, Optional] unsigned int* pdwSizeWritten)IDirectSoundBuffer::GetFormat
- The GetVolume method retrieves the attenuation of the sound.
+ No documentation.
-
Address of a variable that receives the attenuation, in hundredths of a decibel.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The return value is between and . These values are defined as 0 and ?10,000, respectively. The value represents the original, unadjusted volume of the sound. The value indicates an audio volume attenuated by 100 dB, which, for practical purposes, is silence.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getvolumeHRESULT IDirectSoundBuffer::GetVolume([Out] int* plVolume)IDirectSoundBuffer::GetVolume
- The GetPan method retrieves the relative volume of the left and right audio channels.
+ No documentation.
-
Address of a variable that receives the relative volume, in hundredths of a decibel.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The returned value is measured in hundredths of a decibel (dB), in the range of DSBPAN_LEFT to DSBPAN_RIGHT. These values are defined in Dsound.h as -10,000 and 10,000 respectively. The value DSBPAN_LEFT means the right channel is effectively silent. The value DSBPAN_RIGHT means the left channel is effectively silent. The neutral value is DSBPAN_CENTER, defined as 0, which means that both channels are at full volume. When one channel is attenuated, the other remains at full volume.
The pan control acts cumulatively with the volume control.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getpanHRESULT IDirectSoundBuffer::GetPan([Out] int* plPan)IDirectSoundBuffer::GetPan
- The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
+ No documentation.
-
Address of a variable that receives the frequency at which the audio buffer is being played, in hertz.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The frequency value for software buffers is in the range of DSBFREQUENCY_MIN to DSBFREQUENCY_MAX, defined in Dsound.h. Hardware buffers can return other values.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getfrequencyHRESULT IDirectSoundBuffer::GetFrequency([Out] unsigned int* pdwFrequency)IDirectSoundBuffer::GetFrequency
@@ -5126,87 +4694,56 @@
is set if the buffer is being heard. Because of latency, a call to Play or Stop might not immediately change the status.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getstatus
+ ee418070HRESULT IDirectSoundBuffer::GetStatus([Out] unsigned int* pdwStatus)IDirectSoundBuffer::GetStatus
- The Initialize method initializes a sound buffer object if it has not yet been initialized.
+ No documentation.
-
Address of the device object associated with this buffer.
-
Address of a structure that contains the values used to initialize this sound buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values.
Return code
DSERR_INVALIDPARAM
DSERR_ALREADYINITIALIZED
-
-
Because the CreateSoundBuffer method calls Initialize internally, applications do not need to call this method.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.initializeHRESULT IDirectSoundBuffer::Initialize([In] IDirectSound* pDirectSound,[In] const DSBUFFERDESC* pcDSBufferDesc)IDirectSoundBuffer::Initialize
- The Lock method readies all or part of the buffer for a data write and returns references to which data can be written.
+ No documentation.
-
Offset, in bytes, from the start of the buffer to the point where the lock begins. This parameter is ignored if is specified in the dwFlags parameter.
-
Size, in bytes, of the portion of the buffer to lock. The buffer is conceptually circular, so this number can exceed the number of bytes between dwOffset and the end of the buffer.
-
Address of a variable that receives a reference to the first locked part of the buffer.
-
Address of a variable that receives the number of bytes in the block at ppvAudioPtr1. If this value is less than dwBytes, the lock has wrapped and ppvAudioPtr2 points to a second block of data at the beginning of the buffer.
-
Address of a variable that receives a reference to the second locked part of the capture buffer. If null is returned, the ppvAudioPtr1 parameter points to the entire locked portion of the capture buffer.
-
Address of a variable that receives the number of bytes in the block at ppvAudioPtr2. If ppvAudioPtr2 is null, this value is zero.
-
Flags modifying the lock event. The following flags are defined:
Value
Description
Start the lock at the write cursor. The dwOffset parameter is ignored.
Lock the entire buffer. The dwBytes parameter is ignored.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
This method accepts an offset and a byte count, and returns two write references and their associated sizes. If the locked portion does not extend to the end of the buffer and wrap to the beginning, the second reference, ppvAudioBytes2, receives null. If the lock does wrap, ppvAudioBytes2 points to the beginning of the buffer.
If the application passes null for the ppvAudioPtr2 and pdwAudioBytes2 parameters, the lock extends no further than the end of the buffer and does not wrap.
After writing data to the references returned by this method, the application must immediately call Unlock to notify DirectSound that the data is ready for playback. Failure to do so can cause audio breakup or silence on some sound device configurations.
This method returns write references only. The application should not try to read sound data from this reference, because the data might not be valid. For example, if the buffer is located in on-card memory, the reference might be an address to a temporary buffer in system memory. When IDirectSoundBuffer8::Unlock is called, the contents of this temporary buffer are transferred to the on-card memory.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.lockHRESULT IDirectSoundBuffer::Lock([In] unsigned int dwOffset,[In] unsigned int dwBytes,[Out] void** ppvAudioPtr1,[Out] unsigned int* pdwAudioBytes1,[Out] void** ppvAudioPtr2,[Out, Optional] unsigned int* pdwAudioBytes2,[In] DSBLOCK_ENUM dwFlags)IDirectSoundBuffer::Lock
- The Play method causes the sound buffer to play, starting at the play cursor.
+ No documentation.
-
Reserved. Must be 0.
-
Priority for the sound, used by the voice manager when assigning hardware mixing resources. The lowest priority is 0, and the highest priority is 0xFFFFFFFF. If the buffer was not created with the flag, this value must be 0.
-
Flags specifying how to play the buffer. The following flags are defined:
Looping flag
Value
Description
After the end of the audio buffer is reached, play restarts at the beginning of the buffer. Play continues until explicitly stopped. This flag must be set when playing a primary buffer.
Voice allocation flags
The voice allocation flags are valid only for buffers created with the flag. One of the following flags can be used to force the processing of the sound into hardware or software. If neither DBSPLAY_LOCHARDWARE nor DBSPLAY_LOCSOFTWARE is set, the sound is played in either software or hardware, depending on the availability of resources at the time the method is called. See Remarks.
Value
Description
Play this voice in a hardware buffer only. If the hardware has no available voices and no voice management flags are set, the call to IDirectSoundBuffer8::Play fails. This flag cannot be combined with .
Play this voice in a software buffer only. This flag cannot be combined with or any voice management flag.
Voice management flags
The voice management flags are valid only for buffers created with the flag, and are used for sounds that are to play in hardware. These flags enable hardware resources that are already in use to be yielded to the current sound. Only buffers created with the flag are candidates for premature termination. See Remarks.
Value
Description
If the hardware has no available voices, a currently playing nonlooping buffer will be stopped to make room for the new buffer. The buffer prematurely terminated is the one with the least time left to play.
If the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer. The buffer prematurely terminated will be selected from buffers that have the buffer's DSBCAPS_ MUTE3DATMAXDISTANCE flag set and are beyond their maximum distance. If there are no such buffers, the method fails.
If the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer. The buffer prematurely terminated will be the one with the lowest priority as set by the dwPriority parameter passed to IDirectSoundBuffer8::Play for the buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
If SetCooperativeLevel has not been called, the method returns DS_OK, but no sound will be produced until a cooperative level has been set.
If the application is multithreaded, the thread that plays the buffer must continue to exist as long as the buffer is playing. Buffers created on WDM drivers stop playing when the thread is terminated.
If the buffer specified in the method is already playing, the call to the method succeeds and the buffer continues to play. However, the flags defined in the most recent call supersede flags defined in previous calls.
When called on the primary buffer, this method causes the buffer to start playing to the sound device. If the application has set the cooperative level, any audio data put in the primary buffer by the application is sent to the sound device. Under any other cooperative level, the primary buffer plays silence if no secondary buffers are playing. Primary buffers must be played with the flag set.
If the method is called with a voice allocation or voice management flag set on a buffer that was not created with the flag, the call fails with DSERR_INVALIDPARAM.
and cannot be combined, but either may be combined with , in which case the or flag is used to determine which buffer should be terminated in the event of a priority tie.
The following table shows the behavior of the method under various combinations of the voice allocation and voice management flags when no free hardware voices are available.
-
Neither nor
-
-
-
Sound with least time left to play is terminated and the new sound plays on the released voice.
-
Sound with least time left to play is terminated and the new sound plays on the released voice.
-
New sound plays in software.
-
-
If any sounds currently playing in hardware are beyond their maximum distance and have the flag set, one of them is terminated and the new sound plays in hardware. Otherwise, the call fails.
-
If any sounds currently playing in hardware are beyond their maximum distance and have the flag set, one of them is terminated and the new sound plays in hardware. Otherwise, the new sound plays in software.
-
New sound plays in software.
-
-
If the new sound's priority is higher than or equal to that of any sound currently playing in hardware, one of the lowest-priority sounds is terminated and the new sound plays in hardware. Otherwise, the call fails.
-
If the new sound's priority is higher than or equal to that of any sound currently playing in hardware, one of the lowest-priority sounds is terminated and the new sound plays in hardware. Otherwise, the new sound plays in software.
-
New sound plays in software.
-
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.playHRESULT IDirectSoundBuffer::Play([In] unsigned int dwReserved1,[In] unsigned int dwPriority,[In] DSBPLAY_FLAGS dwFlags)IDirectSoundBuffer::Play
- The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
+ No documentation.
-
Offset of the play cursor, in bytes, from the beginning of the buffer.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
This method cannot be called on the primary buffer.
If the buffer is playing, the cursor immediately moves to the new position and play continues from that point. If it is not playing, playback will begin from the new position the next time the Play method is called.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setcurrentpositionHRESULT IDirectSoundBuffer::SetCurrentPosition([In] unsigned int dwNewPosition)IDirectSoundBuffer::SetCurrentPosition
@@ -5220,7 +4757,7 @@
The format of the primary buffer should be set before secondary buffers are created.
The method fails if the application has the cooperative level.
If the application is using DirectSound at the cooperative level, and the format is not supported, the method fails.
If the cooperative level is , DirectSound stops the primary buffer, changes the format, and restarts the buffer. The method succeeds even if the hardware does not support the requested format; DirectSound sets the buffer to the closest supported format. To determine whether this has happened, an application can call the GetFormat method for the primary buffer and compare the result with the format that was requested with the SetFormat method.
This method is not available for secondary sound buffers. If a new format is required, the application must create a new DirectSoundBuffer object.
Allowable values are between (no attenuation) and (silence). These values are defined in Dsound.h as 0 and ?10,000 respectively. The value represents the original, unadjusted volume of the stream. The value indicates an audio volume attenuated by 100 dB, which, for all practical purposes, is silence. DirectSound does not support amplification.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setvolume
+ ee418150HRESULT IDirectSoundBuffer::SetVolume([In] int lVolume)IDirectSoundBuffer::SetVolume
- The SetPan method sets the relative volume of the left and right channels.
+ No documentation.
-
Relative volume between the left and right channels.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_CONTROLUNAVAIL
DSERR_GENERIC
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
-
-
The returned value is measured in hundredths of a decibel (dB), in the range of DSBPAN_LEFT to DSBPAN_RIGHT. These values are defined in Dsound.h as -10,000 and 10,000 respectively. The value DSBPAN_LEFT means the right channel is attenuated by 100 dB and is effectively silent. The value DSBPAN_RIGHT means the left channel is silent. The neutral value is DSBPAN_CENTER, defined as 0, which means that both channels are at full volume. When one channel is attenuated, the other remains at full volume.
The pan control acts cumulatively with the volume control.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setpanHRESULT IDirectSoundBuffer::SetPan([In] int lPan)IDirectSoundBuffer::SetPan
@@ -5262,20 +4795,16 @@
Increasing or decreasing the frequency changes the perceived pitch of the audio data. This method does not affect the format of the buffer.
Before setting the frequency, you should ascertain whether the frequency is supported by checking the dwMinSecondarySampleRate and dwMaxSecondarySampleRate members of the structure for the device. Some operating systems do not support frequencies greater than 100,000 Hz.
This method is not valid for the primary buffer.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setfrequency
+ ee418143HRESULT IDirectSoundBuffer::SetFrequency([In] unsigned int dwFrequency)IDirectSoundBuffer::SetFrequency
- The Stop method causes the sound buffer to stop playing.
+ No documentation.
-
If the method succeeds, the return value is DS_OK. Returns an error code if the method fails.
-
-
For secondary sound buffers, IDirectSoundBuffer8::Stop sets the play cursor to the sample that follows the last sample played. This means that when the Play method is next called on the buffer, it will continue playing where it left off.
For the primary buffer, if an application has the level, this method will stop the buffer and reset the play cursor to 0 (the beginning of the buffer). This is necessary because the primary buffers on most sound cards can play only from the beginning of the buffer.
However, if IDirectSoundBuffer8::Stop is called on a primary buffer and the application has a cooperative level other than , this method simply reverses the effects of IDirectSoundBuffer8::Play. It configures the primary buffer to stop if no secondary buffers are playing. If other buffers are playing in this or other applications, the primary buffer will not actually stop until they are stopped. This method is useful because playing the primary buffer consumes processing overhead even if the buffer is playing sound data with the amplitude of 0 decibels.
An application must pass both references, pvAudioPtr1 and pvAudioPtr2, returned by the IDirectSoundBuffer8::Lock method to ensure the correct pairing of IDirectSoundBuffer8::Lock and IDirectSoundBuffer8::Unlock. The second reference is needed even if nothing was written to the second reference.
The values in dwAudioBytes1 and dwAudioBytes2 must specify the number of bytes actually written to each part of the buffer, which might be less than the size of the lock. DirectSound uses these values to determine how much data to commit to the device.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.unlock
+ ee418153HRESULT IDirectSoundBuffer::Unlock([In, Buffer] void* pvAudioPtr1,[In] unsigned int dwAudioBytes1,[In, Buffer, Optional] void* pvAudioPtr2,[In] unsigned int dwAudioBytes2)IDirectSoundBuffer::Unlock
- The Restore method restores the memory allocation for a lost sound buffer.
+ No documentation.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_PRIOLEVELNEEDED
-
-
If the application does not have the input focus, IDirectSoundBuffer8::Restore might not succeed. For example, if the application with the input focus has the cooperative level, no other application will be able to restore its buffers. Similarly, an application with the cooperative level must have the input focus to restore its primary buffer.
After DirectSound restores the buffer memory, the application must rewrite the buffer with valid sound data. DirectSound cannot restore the contents of the memory, only the memory itself.
The application can receive notification that a buffer is lost when it specifies that buffer in a call to the Lock or Play method. These methods return DSERR_BUFFERLOST to indicate a lost buffer. The GetStatus method can also be used to retrieve the status of the sound buffer and test for the flag.
-
+ No documentation.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.restoreHRESULT IDirectSoundBuffer::Restore()IDirectSoundBuffer::Restore
@@ -5361,52 +4886,36 @@
- The GetCaps method retrieves the capabilities of the buffer object.
+ No documentation.
-
-
The structure contains similar information to the structure passed to the CreateSoundBuffer method, with some additional information. This additional information can include the buffer's location, either in hardware or software, and performance measures.
The flags specified in the dwFlags member of the structure are the same flags used by the structure. The only difference is that in the structure, either or will be specified according to the location of the buffer memory. In the structure, these flags are optional and, depending on which flag is specified, force the buffer to be located in either hardware or software.
-
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getcapsGetCapsGetCapsHRESULT IDirectSoundBuffer::GetCaps([Out] DSBCAPS* pDSBufferCaps)
- The GetVolume method retrieves the attenuation of the sound.
+ No documentation.
-
-
The return value is between and . These values are defined as 0 and ?10,000, respectively. The value represents the original, unadjusted volume of the sound. The value indicates an audio volume attenuated by 100 dB, which, for practical purposes, is silence.
-
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getvolumeGetVolume / SetVolumeGetVolumeHRESULT IDirectSoundBuffer::GetVolume([Out] int* plVolume)
- The GetPan method retrieves the relative volume of the left and right audio channels.
+ No documentation.
-
-
The returned value is measured in hundredths of a decibel (dB), in the range of DSBPAN_LEFT to DSBPAN_RIGHT. These values are defined in Dsound.h as -10,000 and 10,000 respectively. The value DSBPAN_LEFT means the right channel is effectively silent. The value DSBPAN_RIGHT means the left channel is effectively silent. The neutral value is DSBPAN_CENTER, defined as 0, which means that both channels are at full volume. When one channel is attenuated, the other remains at full volume.
The pan control acts cumulatively with the volume control.
-
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getpanGetPan / SetPanGetPanHRESULT IDirectSoundBuffer::GetPan([Out] int* plPan)
- The GetFrequency method retrieves the frequency, in samples per second, at which the buffer is playing.
+ No documentation.
-
-
The frequency value for software buffers is in the range of DSBFREQUENCY_MIN to DSBFREQUENCY_MAX, defined in Dsound.h. Hardware buffers can return other values.
is set if the buffer is being heard. Because of latency, a call to Play or Stop might not immediately change the status.
- microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.getstatus
+ ee418070GetStatusGetStatusHRESULT IDirectSoundBuffer::GetStatus([Out] unsigned int* pdwStatus)
- The SetCurrentPosition method sets the position of the play cursor, which is the point at which the next byte of data is read from the buffer.
+ No documentation.
-
-
This method cannot be called on the primary buffer.
If the buffer is playing, the cursor immediately moves to the new position and play continues from that point. If it is not playing, playback will begin from the new position the next time the Play method is called.
The IDirectSoundNotify8 interface sets up notification events for a playback or capture buffer.
IDirectSoundNotify8 is a define for . The two interface names are interchangeable.
The interface is obtained by calling the QueryInterface method of an existing interface on a DirectSound buffer object. Secondary buffers support notifications only if they are created with the flag.
In addition to the methods inherited from , the IDirectSoundNotify8 interface exposes the following method.
IDirectSoundNotify8 Member
Method
-
Description
-
IDirectSoundNotify8::SetNotificationPositions
The SetNotificationPositions method sets the notification positions. During capture or playback, whenever the read or play cursor reaches one of the specified offsets, the associated event is signaled.
-
The LPDIRECTSOUNDNOTIFY type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUNDNOTIFY;
-
+ No documentation.
- ee418244IDirectSoundNotifyIDirectSoundNotify
@@ -5583,47 +5083,20 @@
- The SetNotificationPositions method sets the notification positions. During capture or playback, whenever the read or play cursor reaches one of the specified offsets, the associated event is signaled.
+ No documentation.
-
Number of structures.
-
Pointer to an array of structures (the maximum array size is DSBNOTIFICATIONS_MAX).
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following error values:
Return code
DSERR_INVALIDPARAM
DSERR_OUTOFMEMORY
-
-
The value DSBPN_OFFSETSTOP can be specified in the dwOffset member to tell DirectSound to signal the associated event when the Stop or Stop method is called or when the end of the buffer has been reached and the playback is not looping. If it is used, this should be the last item in the position-notify array.
If a position-notify array has already been set, the method replaces the previous array.
The buffer must be stopped when this method is called.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundnotify8.idirectsoundnotify8.setnotificationpositionsHRESULT IDirectSoundNotify::SetNotificationPositions([In] unsigned int dwPositionNotifies,[In, Buffer] const DSBPOSITIONNOTIFY* pcPositionNotifies)IDirectSoundNotify::SetNotificationPositions
-
The IDirectSound3DListener8 interface is used to retrieve and set parameters that describe a listener's position, orientation, and listening environment in 3D space.
The interface can be obtained by calling the IDirectSoundBuffer8::QueryInterface method on a primary buffer created with the flag.
In addition to the methods inherited from , the IDirectSound3DListener8 interface exposes the following methods, arranged by category.
Batch Parameters
Method
-
Description
-
IDirectSound3DListener8::CommitDeferredSettings
The CommitDeferredSettings method commits any deferred settings made since the last call to this method.
-
IDirectSound3DListener8::GetAllParameters
The GetAllParameters method retrieves all 3D parameters of the sound environment and the listener.
-
IDirectSound3DListener8::SetAllParameters
The SetAllParameters method sets all 3D parameters of the sound environment and the listener.
-
Global Sound Properties
Method
-
Description
-
IDirectSound3DListener8::GetDistanceFactor
The GetDistanceFactor method retrieves the distance factor, which is the number of meters in a vector unit.
-
IDirectSound3DListener8::GetDopplerFactor
The GetDopplerFactor method retrieves the multiplier for the Doppler effect.
-
IDirectSound3DListener8::GetRolloffFactor
The GetRolloffFactor method retrieves the rolloff factor, which determines the rate of attenuation over distance.
-
IDirectSound3DListener8::SetDistanceFactor
The SetDistanceFactor method sets the distance factor, which is the number of meters in a vector unit.
-
IDirectSound3DListener8::SetDopplerFactor
The SetDopplerFactor method sets the multiplier for the Doppler effect.
-
IDirectSound3DListener8::SetRolloffFactor
The SetRolloffFactor method sets the rolloff factor, which determines the rate of attenuation over distance.
-
Listener Properties
Method
-
Description
-
IDirectSound3DListener8::GetOrientation
The GetOrientation method retrieves the orientation of the listener's head.
-
IDirectSound3DListener8::GetPosition
The GetPosition method retrieves the listener's position.
-
IDirectSound3DListener8::GetVelocity
The GetVelocity method retrieves the listener's velocity.
-
IDirectSound3DListener8::SetOrientation
The SetOrientation method sets the orientation of the listener's head.
-
IDirectSound3DListener8::SetPosition
The SetPosition method sets the listener's position.
-
IDirectSound3DListener8::SetVelocity
The SetVelocity method sets the listener's velocity.
-
The LPDIRECTSOUND3DLISTENER type is defined as a reference to the interface:
typedef struct *LPDIRECTSOUND3DLISTENER;
-
+ No documentation.
- ee418003IDirectSound3DListenerIDirectSound3DListener
@@ -5689,23 +5162,21 @@
- The GetAllParameters method retrieves all 3D parameters of the sound environment and the listener.
+ No documentation.
-
Address of a structure that receives the state of the 3D world and listener.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getallparametersHRESULT IDirectSound3DListener::GetAllParameters([Out] DS3DLISTENER* pListener)IDirectSound3DListener::GetAllParameters
- The GetDistanceFactor method retrieves the distance factor, which is the number of meters in a vector unit.
+ No documentation.
-
Address of a variable that receives the distance factor value. D3DVALUE is defined as float.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getdistancefactorHRESULT IDirectSound3DListener::GetDistanceFactor([Out] float* pflDistanceFactor)IDirectSound3DListener::GetDistanceFactor
@@ -5719,36 +5190,28 @@
The Doppler factor has a range of DS3D_MINDOPPLERFACTOR (no Doppler effects) to DS3D_MAXDOPPLERFACTOR (defined as 10 times the Doppler effects found in the real world). The default value is DS3D_DEFAULTDOPPLERFACTOR (1.0).
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getdopplerfactor
+ ee418010HRESULT IDirectSound3DListener::GetDopplerFactor([Out] float* pflDopplerFactor)IDirectSound3DListener::GetDopplerFactor
- The GetOrientation method retrieves the orientation of the listener's head.
+ No documentation.
-
Address of a structure that receives the listener's front orientation vector.
-
Address of a structure that receives the listener's top orientation vector.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
The front vector points in the direction of the listener's nose, and the top vector points up from the top of the listener's head. By default, the front vector is (0,0,1.0) and the top vector is (0,1.0,0).
The values returned are not necessarily the same as those set by using SetOrientation. DirectSound normalizes orientation vectors so that they are at right angles and have a magnitude of less than or equal to 1.0.
-
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getorientationHRESULT IDirectSound3DListener::GetOrientation([Out] D3DVECTOR* pvOrientFront,[Out] D3DVECTOR* pvOrientTop)IDirectSound3DListener::GetOrientation
- The GetPosition method retrieves the listener's position.
+ No documentation.
-
Address of a structure that receives the listener's position vector.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
By default, measurement units are meters, but this can be changed by calling the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.getpositionHRESULT IDirectSound3DListener::GetPosition([Out] D3DVECTOR* pvPosition)IDirectSound3DListener::GetPosition
@@ -5762,7 +5225,7 @@
The rolloff factor has a range of DS3D_MINROLLOFFFACTOR (no rolloff) to DS3D_MAXROLLOFFFACTOR (defined as 10 times the rolloff found in the real world). The default value is DS3D_DEFAULTROLLOFFFACTOR (1.0). For more information, see Rolloff Factor.
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
The distance factor has a range of DS3D_MINDISTANCEFACTOR to DS3D_MAXDISTANCEFACTOR, defined in Dsound.h as FLT_MIN and FLT_MAX respectively. The default value is DS3D_DEFAULTDISTANCEFACTOR, or 1.0.
The Doppler factor has a range of DS3D_MINDOPPLERFACTOR (no Doppler effects) to DS3D_MAXDOPPLERFACTOR (defined as 10 times the Doppler effects found in the real world). The default value is DS3D_DEFAULTDOPPLERFACTOR (1.0).
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setdopplerfactor
+ ee418024HRESULT IDirectSound3DListener::SetDopplerFactor([In] float flDopplerFactor,[In] unsigned int dwApply)IDirectSound3DListener::SetDopplerFactor
- The SetOrientation method sets the orientation of the listener's head.
+ No documentation.
-
Value that specifies the x coordinate of the front orientation vector. D3DVALUE is defined as float.
-
Value that specifies the y coordinate of the front orientation vector. D3DVALUE is defined as float.
-
Value that specifies the z coordinate of the front orientation vector. D3DVALUE is defined as float.
-
Value that specifies the x coordinates of the top orientation vector.
-
Value that specifies the y coordinates of the top orientation vector.
-
Value that specifies the z coordinates of the top orientation vector.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
The front vector points in the direction of the listener's nose, and the top vector points up from the top of the listener's head. By default, the front vector is (0,0,1.0) and the top vector is (0,1.0,0).
The top vector must be at right angles to the front vector. If necessary, DirectSound adjusts the top vector after setting the front vector.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setorientationHRESULT IDirectSound3DListener::SetOrientation([In] float xFront,[In] float yFront,[In] float zFront,[In] float xTop,[In] float yTop,[In] float zTop,[In] unsigned int dwApply)IDirectSound3DListener::SetOrientation
- The SetPosition method sets the listener's position.
+ No documentation.
-
Value that specifies the x coordinate of the listener's position vector. Note that DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the y coordinate of the listener's position vector. Note that DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the z coordinate of the listener's position vector. Note that DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
By default, measurement units are meters, but this can be changed by calling the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setpositionHRESULT IDirectSound3DListener::SetPosition([In] float x,[In] float y,[In] float z,[In] unsigned int dwApply)IDirectSound3DListener::SetPosition
@@ -5870,24 +5325,20 @@
The rolloff factor has a range of DS3D_MINROLLOFFFACTOR (no rolloff) to DS3D_MAXROLLOFFFACTOR (defined as 10 times the rolloff found in the real world). The default value is DS3D_DEFAULTROLLOFFFACTOR (1.0). For more information, see Rolloff Factor.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setrollofffactor
+ ee418030HRESULT IDirectSound3DListener::SetRolloffFactor([In] float flRolloffFactor,[In] unsigned int dwApply)IDirectSound3DListener::SetRolloffFactor
- The SetVelocity method sets the listener's velocity.
+ No documentation.
-
Value that specifies the x coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the y coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies the z coordinate of the listener's velocity vector. DirectSound may adjust this value to prevent floating-point overflow. D3DVALUE is defined as float.
-
Value that specifies when the setting should be applied. This value must be one of the following:
Value
Description
DS3D_DEFERRED
Settings are not applied until the application calls the CommitDeferredSettings method. This allows the application to change several settings and generate a single recalculation.
DS3D_IMMEDIATE
Settings are applied immediately, causing the system to recalculate the 3D coordinates for all 3D sound buffers.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
-
-
Velocity is used only for Doppler effects. It does not actually move the listener. To change the listener's position, use the SetPosition method. The default velocity is (0,0,0).
By default, measurement units are meters per second, but this can be changed by calling the SetDistanceFactor method.
-
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsound3dlistener8.idirectsound3dlistener8.setvelocityHRESULT IDirectSound3DListener::SetVelocity([In] float x,[In] float y,[In] float z,[In] unsigned int dwApply)IDirectSound3DListener::SetVelocity
@@ -5897,7 +5348,7 @@
If the method succeeds, the return value is DS_OK.
The IDirectSoundFXWavesReverb8 interface is used to set and retrieve effect parameters on a buffer that supports Waves reverberation.
This interface is obtained by calling GetObjectInPath on the buffer that supports the effect.
In addition to the methods inherited from , the IDirectSoundFXWavesReverb8 interface exposes the following methods.
IDirectSoundFXWavesReverb8 Members
Method
-
Description
-
IDirectSoundFXWavesReverb8::GetAllParameters
The GetAllParameters method retrieves the music reverberation parameters of a buffer.
-
IDirectSoundFXWavesReverb8::SetAllParameters
The SetAllParameters method sets the music reverberation parameters of a buffer.
-
The Waves reverberation DMO is based on the Waves MaxxVerb technology, which is licenced to Microsoft.
+ No documentation.
- ee418241IDirectSoundFXWavesReverbIDirectSoundFXWavesReverb
@@ -6038,32 +5484,29 @@
- The SetAllParameters method sets the music reverberation parameters of a buffer.
+ No documentation.
-
Address of a structure that specifies the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxwavesreverb8.idirectsoundfxwavesreverb8.setallparametersHRESULT IDirectSoundFXWavesReverb::SetAllParameters([In] const DSFXWavesReverb* pcDsFxWavesReverb)IDirectSoundFXWavesReverb::SetAllParameters
- The GetAllParameters method retrieves the music reverberation parameters of a buffer.
+ No documentation.
-
Address of a structure that receives the effect parameters.
-
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be DSERR_INVALIDPARAM.
+ No documentation.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxwavesreverb8.idirectsoundfxwavesreverb8.getallparametersHRESULT IDirectSoundFXWavesReverb::GetAllParameters([Out] DSFXWavesReverb* pDsFxWavesReverb)IDirectSoundFXWavesReverb::GetAllParameters
- The GetAllParameters method retrieves the music reverberation parameters of a buffer.
+ No documentation.
- microsoft.directx_sdk.idirectsoundfxwavesreverb8.idirectsoundfxwavesreverb8.getallparametersGetAllParameters / SetAllParametersGetAllParametersHRESULT IDirectSoundFXWavesReverb::GetAllParameters([Out] DSFXWavesReverb* pDsFxWavesReverb)
@@ -6252,7 +5695,7 @@
The structure contains parameters for a compression effect.
- microsoft.directx_sdk.reference.dsfxcompressor
+ ee416833DSFXCompressorDSFXCompressor
@@ -6261,7 +5704,7 @@
Output gain of signal after compression, in the range from DSFXCOMPRESSOR_GAIN_MIN to DSFXCOMPRESSOR_GAIN_MAX. The default value is 0 dB.
Speed at which compression is stopped after input drops below fThreshold, in the range from DSFXCOMPRESSOR_RELEASE_MIN to DSFXCOMPRESSOR_RELEASE_MAX. The default value is 200 ms.
Point at which compression begins, in decibels, in the range from DSFXCOMPRESSOR_THRESHOLD_MIN to DSFXCOMPRESSOR_THRESHOLD_MAX. The default value is -20 dB.
Time after lThreshold is reached before attack phase is started, in milliseconds, in the range from DSFXCOMPRESSOR_PREDELAY_MIN to DSFXCOMPRESSOR_PREDELAY_MAX. The default value is 4 ms.
- microsoft.directx_sdk.reference.dsfxcompressor
+ ee416833float fPredelayfloat fPredelay
@@ -6545,7 +5988,7 @@
The structure contains parameters for an I3DL2 (Interactive 3D Audio Level 2) reverberation effect.
- microsoft.directx_sdk.reference.dsfxi3dl2reverb
+ ee416838DSFXI3DL2ReverbDSFXI3DL2Reverb
@@ -6554,7 +5997,7 @@
Attenuation of the room effect, in millibels (mB), in the range from DSFX_I3DL2REVERB_ROOM_MIN to DSFX_I3DL2REVERB_ROOM_MAX. The default value is DSFX_I3DL2REVERB_ROOM_DEFAULT, or -1000 mB.
Attenuation of the room high-frequency effect, in mB, in the range from DSFX_I3DL2REVERB_ROOMHF_MIN to DSFX_I3DL2REVERB_ROOMHF_MAX. The default value is DSFX_I3DL2REVERB_ROOMHF_DEFAULT, or -100 mB.
Rolloff factor for the reflected signals, in the range from DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN to DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX. The default value is DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT, or 0.0. The rolloff factor for the direct path is controlled by the DirectSound listener.
Decay time, in seconds, in the range from DSFX_I3DL2REVERB_DECAYTIME_MIN to DSFX_I3DL2REVERB_DECAYTIME_MAX. The default value is DSFX_I3DL2REVERB_DECAYTIME_DEFAULT, or 1.49 second.
Ratio of the decay time at high frequencies to the decay time at low frequencies, in the range from DSFX_I3DL2REVERB_DECAYHFRATIO_MIN to DSFX_I3DL2REVERB_DECAYHFRATIO_MAX. The default value is DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT, or 0.83.
Attenuation of early reflections relative to lRoom, in mB, in the range from DSFX_I3DL2REVERB_REFLECTIONS_MIN to DSFX_I3DL2REVERB_REFLECTIONS_MAX. The default value is DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT, or -2602 mB.
Delay time of the first reflection relative to the direct path, in seconds, in the range from DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN to DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT. The default value is 0.007 seconds.
Attenuation of late reverberation relative to lRoom, in mB, in the range -from DSFX_I3DL2REVERB_REVERB_MIN to DSFX_I3DL2REVERB_REVERB_MAX. The default value is DSFX_I3DL2REVERB_REVERB_DEFAULT, or 200 mB.
Time limit between the early reflections and the late reverberation relative to the time of the first reflection, in seconds, in the range from DSFX_I3DL2REVERB_REVERBDELAY_MIN to DSFX_I3DL2REVERB_REVERBDELAY_MAX. The default value is DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT, or 0.011 seconds.
Echo density in the late reverberation decay, in percent, in the range from DSFX_I3DL2REVERB_DIFFUSION_MIN to DSFX_I3DL2REVERB_DIFFUSION_MAX. The default value is DSFX_I3DL2REVERB_DIFFUSION_DEFAULT, or 100.0 percent.
Modal density in the late reverberation decay, in percent, in the range from DSFX_I3DL2REVERB_DENSITY_MIN to DSFX_I3DL2REVERB_DENSITY_MAX. The default value is DSFX_I3DL2REVERB_DENSITY_DEFAULT, or 100.0 percent.
Reference high frequency, in hertz, in the range from DSFX_I3DL2REVERB_HFREFERENCE_MIN to DSFX_I3DL2REVERB_HFREFERENCE_MAX. The default value is DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT, or 5000.0 Hz.
- microsoft.directx_sdk.reference.dsfxi3dl2reverb
+ ee416838float flHFReferencefloat flHFReference
@@ -6662,7 +6105,7 @@
The structure describes the 3D world parameters and the position of the listener. This structure is used with theIDirectSound3DListener8::GetAllParametersandIDirectSound3DListener8::SetAllParametersmethods.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817DS3DLISTENERDS3DLISTENER
@@ -6671,7 +6114,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817unsigned int dwSizeunsigned int dwSize
@@ -6680,7 +6123,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vPositionD3DVECTOR vPosition
@@ -6689,7 +6132,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vVelocityD3DVECTOR vVelocity
@@ -6698,7 +6141,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vOrientFrontD3DVECTOR vOrientFront
@@ -6707,7 +6150,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817D3DVECTOR vOrientTopD3DVECTOR vOrientTop
@@ -6716,7 +6159,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817float flDistanceFactorfloat flDistanceFactor
@@ -6725,7 +6168,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817float flRolloffFactorfloat flRolloffFactor
@@ -6734,7 +6177,7 @@
No documentation.
- microsoft.directx_sdk.reference.ds3dlistener
+ ee416817float flDopplerFactorfloat flDopplerFactor
@@ -6751,7 +6194,7 @@
Windows
Important Note for Windows Vista
Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.
To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.
Boolean value that specifies whether the effect is enabled.
- microsoft.directx_sdk.reference.dscfxnoisesuppress
+ ee416827BOOL fEnableBOOL fEnable
@@ -6914,7 +6357,7 @@
The structure contains parameters for a Waves reverberation effect.
- microsoft.directx_sdk.reference.dsfxwavesreverb
+ ee416840DSFXWavesReverbDSFXWavesReverb
@@ -6923,7 +6366,7 @@
Input gain of signal, in decibels (dB), in the range from DSFX_WAVESREVERB_INGAIN_MIN through DSFX_WAVESREVERB_INGAIN_MAX. The default value is DSFX_WAVESREVERB_INGAIN_DEFAULT, or 0 dB.
Reverb mix, in dB, in the range from DSFX_WAVESREVERB_REVERBMIX_MIN through DSFX_WAVESREVERB_REVERBMIX_MAX. The default value is DSFX_WAVESREVERB_REVERBMIX_DEFAULT, or 0 dB.
Reverb time, in milliseconds, in the range from DSFX_WAVESREVERB_REVERBTIME_MIN through DSFX_WAVESREVERB_REVERBTIME_MAX. The default value is DSFX_WAVESREVERB_REVERBTIME_DEFAULT, or 1000.
High-frequency reverb time ratio, in the range from DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN through DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX. The default value is DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT, or 0.001.
- microsoft.directx_sdk.reference.dsfxwavesreverb
+ ee416840float fHighFreqRTRatiofloat fHighFreqRTRatio
diff --git a/Externals/SharpDX/net40/SharpDX.dll b/Externals/SharpDX/net40/SharpDX.dll
index 67a79ac35..8adb8ccc9 100644
Binary files a/Externals/SharpDX/net40/SharpDX.dll and b/Externals/SharpDX/net40/SharpDX.dll differ
diff --git a/Externals/SharpDX/net40/SharpDX.xml b/Externals/SharpDX/net40/SharpDX.xml
index 0ebab026d..95dbdba40 100644
--- a/Externals/SharpDX/net40/SharpDX.xml
+++ b/Externals/SharpDX/net40/SharpDX.xml
@@ -6040,70 +6040,6 @@
Size in bytes of the buffer.
-
-
- Converts this DataPointer to a .
-
- An instance of a .
-
-
-
- Converts this DataPointer to a .
-
- An instance of a .
-
-
-
- Converts this instance to a read only byte buffer.
-
- A readonly byte buffer.
-
- DataPointer is Zero
- or
- Size cannot be < 0
-
-
-
-
- Converts this instance to a read only typed buffer.
-
- Type of a buffer element
- A readonly typed buffer.
- DataPointer is Zero
-
-
-
- Reads the content of the unmanaged memory location of this instance to the specified buffer.
-
- Type of a buffer element
- The buffer.
- The offset in the array to write to.
- The number of T element to read from the memory location.
- buffer
- DataPointer is Zero
- buffer;Total buffer size cannot be larger than size of this data pointer
-
-
-
- Writes the content of the specified buffer to the unmanaged memory location of this instance.
-
- Type of a buffer element
- The buffer.
- buffer
- DataPointer is Zero
-
-
-
- Writes the content of the specified buffer to the unmanaged memory location of this instance.
-
-
- The buffer to read from.
- The offset in the array to read from.
- The number of T element to write to the memory location.
- buffer
- DataPointer is Zero
- buffer;Total buffer size cannot be larger than size of this data pointer
-
Implements the ==.
@@ -11407,12 +11343,6 @@
true if writing to the buffer should be allowed; otherwise, false.
-
-
- Initializes a new instance of the class.
-
- The data pointer.
-
Initializes a new instance of the class, using an unmanaged buffer as a backing store.
@@ -11978,12 +11908,6 @@
is less than 1.
-
-
- Initializes a new instance of the class.
-
- The data pointer.
-
Initializes a new instance of the class, using an unmanaged buffer as a backing store.
@@ -12578,7 +12502,7 @@
-
A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. The reference device for this driver is installed by the Windows SDK 8.0 or later and is intended only as a debug aid for development purposes. This driver may be referred to as a REF driver, a reference driver, or a reference rasterizer.
Note??When you use the REF driver in Windows Store apps, the REF driver renders correctly but doesn't display any output on the screen. To verify bugs in hardware drivers for Windows Store apps, use for the WARP driver instead.
+
A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. This driver is installed by the DirectX SDK. This driver may be referred to as a REF driver, a reference driver or a reference rasterizer.
ff476328
@@ -12605,7 +12529,7 @@
-
A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10_1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.
Note??The WARP driver that Windows?8 includes supports feature levels 9_1 through level 11_1.
Note??The WARP driver that Windows?8.1 includes fully supports feature level 11_1, including tiled, IDXGIDevice3::Trim, shared BCn surfaces, minblend, and map default.
+
A WARP driver, which is a high-performance software rasterizer. The rasterizer supports feature levels 9_1 through level 10.1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information about using a WARP driver, see Windows Advanced Rasterization Platform (WARP) In-Depth Guide.
ff476328
@@ -13181,7 +13105,7 @@
-
The resource is a raw buffer. For more info about raw viewing of buffers, see Raw Views of Buffers.
+
The resource is an extended buffer.
ff728736
@@ -13210,9 +13134,9 @@
Number of bytes in the blob.
The address of a reference to the ID3DBlob interface that is used to retrieve the buffer.
-
Returns one of the Direct3D 11 return codes.
+
Returns one of the following Direct3D 10 Return Codes.
-
The latest D3dcompiler_nn.dll contains the compiler function. Therefore, you are no longer required to create and use an arbitrary length data buffer by using the D3D10CreateBlob function that is contained in D3d10.dll.
Windows Phone 8.1: This API is supported.
+
The latest D3dcompiler_nn.dll contains the compiler function. Therefore, you are no longer required to create and use an arbitrary length data buffer by using the D3D10CreateBlob function that is contained in D3d10.dll.
ff728672
@@ -13363,8 +13287,8 @@
Defines a shader macro.
-
You can use shader macros in your shaders. The structure defines a single shader macro as shown in the following example:
Shader_Macros[1] = { "zero", "0" };
-
The following shader or effect creation functions take an array of shader macros as an input parameter:
D3D10CompileShader
D3DX10PreprocessShaderFromFile
D3DX11CreateAsyncShaderPreprocessProcessor
+
You can use shader macros in your shaders. The structure defines a single shader macro as shown in the following example:
Shader_Macros[1] = { "zero", "0" };
+
The following shader or effect creation functions take an array of shader macros as an input parameter:
D3D10CompileShader
D3DX10PreprocessShaderFromFile
D3DX11CreateAsyncShaderPreprocessProcessor
ff728732
@@ -13661,16 +13585,14 @@
No documentation.
- ff539946HID_USAGE_IDHID_USAGE_ID
-
Aliased
+ No documentation.
- ff539946HID_USAGE_GENERIC_POINTERHID_USAGE_GENERIC_POINTER
@@ -13679,7 +13601,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_MOUSEHID_USAGE_GENERIC_MOUSE
@@ -13688,7 +13609,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_JOYSTICKHID_USAGE_GENERIC_JOYSTICK
@@ -13697,7 +13617,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_GAMEPADHID_USAGE_GENERIC_GAMEPAD
@@ -13706,7 +13625,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_KEYBOARDHID_USAGE_GENERIC_KEYBOARD
@@ -13715,7 +13633,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_KEYPADHID_USAGE_GENERIC_KEYPAD
@@ -13724,7 +13641,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSTEM_CTLHID_USAGE_GENERIC_SYSTEM_CTL
@@ -13733,7 +13649,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_XHID_USAGE_GENERIC_X
@@ -13742,7 +13657,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_YHID_USAGE_GENERIC_Y
@@ -13751,7 +13665,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_ZHID_USAGE_GENERIC_Z
@@ -13760,7 +13673,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_RXHID_USAGE_GENERIC_RX
@@ -13769,7 +13681,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_RYHID_USAGE_GENERIC_RY
@@ -13778,7 +13689,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_RZHID_USAGE_GENERIC_RZ
@@ -13787,7 +13697,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SLIDERHID_USAGE_GENERIC_SLIDER
@@ -13796,7 +13705,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_DIALHID_USAGE_GENERIC_DIAL
@@ -13805,7 +13713,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_WHEELHID_USAGE_GENERIC_WHEEL
@@ -13814,7 +13721,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_HATSWITCHHID_USAGE_GENERIC_HATSWITCH
@@ -13823,7 +13729,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_COUNTED_BUFFERHID_USAGE_GENERIC_COUNTED_BUFFER
@@ -13832,7 +13737,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_BYTE_COUNTHID_USAGE_GENERIC_BYTE_COUNT
@@ -13841,7 +13745,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_MOTION_WAKEUPHID_USAGE_GENERIC_MOTION_WAKEUP
@@ -13850,7 +13753,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VXHID_USAGE_GENERIC_VX
@@ -13859,7 +13761,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VYHID_USAGE_GENERIC_VY
@@ -13868,7 +13769,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VZHID_USAGE_GENERIC_VZ
@@ -13877,7 +13777,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VBRXHID_USAGE_GENERIC_VBRX
@@ -13886,7 +13785,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VBRYHID_USAGE_GENERIC_VBRY
@@ -13895,7 +13793,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VBRZHID_USAGE_GENERIC_VBRZ
@@ -13904,7 +13801,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_VNOHID_USAGE_GENERIC_VNO
@@ -13913,7 +13809,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_POWERHID_USAGE_GENERIC_SYSCTL_POWER
@@ -13922,7 +13817,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_SLEEPHID_USAGE_GENERIC_SYSCTL_SLEEP
@@ -13931,7 +13825,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_WAKEHID_USAGE_GENERIC_SYSCTL_WAKE
@@ -13940,7 +13833,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENUHID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU
@@ -13949,7 +13841,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MAIN_MENUHID_USAGE_GENERIC_SYSCTL_MAIN_MENU
@@ -13958,7 +13849,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_APP_MENUHID_USAGE_GENERIC_SYSCTL_APP_MENU
@@ -13967,7 +13857,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_HELP_MENUHID_USAGE_GENERIC_SYSCTL_HELP_MENU
@@ -13976,7 +13865,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_EXITHID_USAGE_GENERIC_SYSCTL_MENU_EXIT
@@ -13985,7 +13873,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_SELECTHID_USAGE_GENERIC_SYSCTL_MENU_SELECT
@@ -13994,7 +13881,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_RIGHTHID_USAGE_GENERIC_SYSCTL_MENU_RIGHT
@@ -14003,7 +13889,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_LEFTHID_USAGE_GENERIC_SYSCTL_MENU_LEFT
@@ -14012,7 +13897,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_UPHID_USAGE_GENERIC_SYSCTL_MENU_UP
@@ -14021,7 +13905,6 @@
No documentation.
- ff539946HID_USAGE_GENERIC_SYSCTL_MENU_DOWNHID_USAGE_GENERIC_SYSCTL_MENU_DOWN
@@ -14030,7 +13913,6 @@
No documentation.
- ff539946HID_USAGE_SIMULATION_RUDDERHID_USAGE_SIMULATION_RUDDER
@@ -14039,7 +13921,6 @@
No documentation.
- ff539946HID_USAGE_SIMULATION_THROTTLEHID_USAGE_SIMULATION_THROTTLE
@@ -14048,7 +13929,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_NOEVENTHID_USAGE_KEYBOARD_NOEVENT
@@ -14057,7 +13937,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ROLLOVERHID_USAGE_KEYBOARD_ROLLOVER
@@ -14066,7 +13945,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_POSTFAILHID_USAGE_KEYBOARD_POSTFAIL
@@ -14075,7 +13953,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_UNDEFINEDHID_USAGE_KEYBOARD_UNDEFINED
@@ -14084,7 +13961,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_aAHID_USAGE_KEYBOARD_aA
@@ -14093,7 +13969,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_zZHID_USAGE_KEYBOARD_zZ
@@ -14102,7 +13977,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ONEHID_USAGE_KEYBOARD_ONE
@@ -14111,7 +13985,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ZEROHID_USAGE_KEYBOARD_ZERO
@@ -14120,7 +13993,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LCTRLHID_USAGE_KEYBOARD_LCTRL
@@ -14129,7 +14001,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LSHFTHID_USAGE_KEYBOARD_LSHFT
@@ -14138,7 +14009,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LALTHID_USAGE_KEYBOARD_LALT
@@ -14147,7 +14017,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_LGUIHID_USAGE_KEYBOARD_LGUI
@@ -14156,7 +14025,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RCTRLHID_USAGE_KEYBOARD_RCTRL
@@ -14165,7 +14033,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RSHFTHID_USAGE_KEYBOARD_RSHFT
@@ -14174,7 +14041,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RALTHID_USAGE_KEYBOARD_RALT
@@ -14183,7 +14049,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RGUIHID_USAGE_KEYBOARD_RGUI
@@ -14192,7 +14057,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_SCROLL_LOCKHID_USAGE_KEYBOARD_SCROLL_LOCK
@@ -14201,7 +14065,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_NUM_LOCKHID_USAGE_KEYBOARD_NUM_LOCK
@@ -14210,7 +14073,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_CAPS_LOCKHID_USAGE_KEYBOARD_CAPS_LOCK
@@ -14219,7 +14081,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_F1HID_USAGE_KEYBOARD_F1
@@ -14228,7 +14089,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_F12HID_USAGE_KEYBOARD_F12
@@ -14237,7 +14097,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_RETURNHID_USAGE_KEYBOARD_RETURN
@@ -14246,7 +14105,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_ESCAPEHID_USAGE_KEYBOARD_ESCAPE
@@ -14255,7 +14113,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_DELETEHID_USAGE_KEYBOARD_DELETE
@@ -14264,7 +14121,6 @@
No documentation.
- ff539946HID_USAGE_KEYBOARD_PRINT_SCREENHID_USAGE_KEYBOARD_PRINT_SCREEN
@@ -14273,7 +14129,6 @@
No documentation.
- ff539946HID_USAGE_LED_NUM_LOCKHID_USAGE_LED_NUM_LOCK
@@ -14282,7 +14137,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAPS_LOCKHID_USAGE_LED_CAPS_LOCK
@@ -14291,7 +14145,6 @@
No documentation.
- ff539946HID_USAGE_LED_SCROLL_LOCKHID_USAGE_LED_SCROLL_LOCK
@@ -14300,7 +14153,6 @@
No documentation.
- ff539946HID_USAGE_LED_COMPOSEHID_USAGE_LED_COMPOSE
@@ -14309,7 +14161,6 @@
No documentation.
- ff539946HID_USAGE_LED_KANAHID_USAGE_LED_KANA
@@ -14318,7 +14169,6 @@
No documentation.
- ff539946HID_USAGE_LED_POWERHID_USAGE_LED_POWER
@@ -14327,7 +14177,6 @@
No documentation.
- ff539946HID_USAGE_LED_SHIFTHID_USAGE_LED_SHIFT
@@ -14336,7 +14185,6 @@
No documentation.
- ff539946HID_USAGE_LED_DO_NOT_DISTURBHID_USAGE_LED_DO_NOT_DISTURB
@@ -14345,7 +14193,6 @@
No documentation.
- ff539946HID_USAGE_LED_MUTEHID_USAGE_LED_MUTE
@@ -14354,7 +14201,6 @@
No documentation.
- ff539946HID_USAGE_LED_TONE_ENABLEHID_USAGE_LED_TONE_ENABLE
@@ -14363,7 +14209,6 @@
No documentation.
- ff539946HID_USAGE_LED_HIGH_CUT_FILTERHID_USAGE_LED_HIGH_CUT_FILTER
@@ -14372,7 +14217,6 @@
No documentation.
- ff539946HID_USAGE_LED_LOW_CUT_FILTERHID_USAGE_LED_LOW_CUT_FILTER
@@ -14381,7 +14225,6 @@
No documentation.
- ff539946HID_USAGE_LED_EQUALIZER_ENABLEHID_USAGE_LED_EQUALIZER_ENABLE
@@ -14390,7 +14233,6 @@
No documentation.
- ff539946HID_USAGE_LED_SOUND_FIELD_ONHID_USAGE_LED_SOUND_FIELD_ON
@@ -14399,7 +14241,6 @@
No documentation.
- ff539946HID_USAGE_LED_SURROUND_FIELD_ONHID_USAGE_LED_SURROUND_FIELD_ON
@@ -14408,7 +14249,6 @@
No documentation.
- ff539946HID_USAGE_LED_REPEATHID_USAGE_LED_REPEAT
@@ -14417,7 +14257,6 @@
No documentation.
- ff539946HID_USAGE_LED_STEREOHID_USAGE_LED_STEREO
@@ -14426,7 +14265,6 @@
No documentation.
- ff539946HID_USAGE_LED_SAMPLING_RATE_DETECTHID_USAGE_LED_SAMPLING_RATE_DETECT
@@ -14435,7 +14273,6 @@
No documentation.
- ff539946HID_USAGE_LED_SPINNINGHID_USAGE_LED_SPINNING
@@ -14444,7 +14281,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAVHID_USAGE_LED_CAV
@@ -14453,7 +14289,6 @@
No documentation.
- ff539946HID_USAGE_LED_CLVHID_USAGE_LED_CLV
@@ -14462,7 +14297,6 @@
No documentation.
- ff539946HID_USAGE_LED_RECORDING_FORMAT_DETHID_USAGE_LED_RECORDING_FORMAT_DET
@@ -14471,7 +14305,6 @@
No documentation.
- ff539946HID_USAGE_LED_OFF_HOOKHID_USAGE_LED_OFF_HOOK
@@ -14480,7 +14313,6 @@
No documentation.
- ff539946HID_USAGE_LED_RINGHID_USAGE_LED_RING
@@ -14489,7 +14321,6 @@
No documentation.
- ff539946HID_USAGE_LED_MESSAGE_WAITINGHID_USAGE_LED_MESSAGE_WAITING
@@ -14498,7 +14329,6 @@
No documentation.
- ff539946HID_USAGE_LED_DATA_MODEHID_USAGE_LED_DATA_MODE
@@ -14507,7 +14337,6 @@
No documentation.
- ff539946HID_USAGE_LED_BATTERY_OPERATIONHID_USAGE_LED_BATTERY_OPERATION
@@ -14516,7 +14345,6 @@
No documentation.
- ff539946HID_USAGE_LED_BATTERY_OKHID_USAGE_LED_BATTERY_OK
@@ -14525,7 +14353,6 @@
No documentation.
- ff539946HID_USAGE_LED_BATTERY_LOWHID_USAGE_LED_BATTERY_LOW
@@ -14534,7 +14361,6 @@
No documentation.
- ff539946HID_USAGE_LED_SPEAKERHID_USAGE_LED_SPEAKER
@@ -14543,7 +14369,6 @@
No documentation.
- ff539946HID_USAGE_LED_HEAD_SETHID_USAGE_LED_HEAD_SET
@@ -14552,7 +14377,6 @@
No documentation.
- ff539946HID_USAGE_LED_HOLDHID_USAGE_LED_HOLD
@@ -14561,7 +14385,6 @@
No documentation.
- ff539946HID_USAGE_LED_MICROPHONEHID_USAGE_LED_MICROPHONE
@@ -14570,7 +14393,6 @@
No documentation.
- ff539946HID_USAGE_LED_COVERAGEHID_USAGE_LED_COVERAGE
@@ -14579,7 +14401,6 @@
No documentation.
- ff539946HID_USAGE_LED_NIGHT_MODEHID_USAGE_LED_NIGHT_MODE
@@ -14588,7 +14409,6 @@
No documentation.
- ff539946HID_USAGE_LED_SEND_CALLSHID_USAGE_LED_SEND_CALLS
@@ -14597,7 +14417,6 @@
No documentation.
- ff539946HID_USAGE_LED_CALL_PICKUPHID_USAGE_LED_CALL_PICKUP
@@ -14606,7 +14425,6 @@
No documentation.
- ff539946HID_USAGE_LED_CONFERENCEHID_USAGE_LED_CONFERENCE
@@ -14615,7 +14433,6 @@
No documentation.
- ff539946HID_USAGE_LED_STAND_BYHID_USAGE_LED_STAND_BY
@@ -14624,7 +14441,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAMERA_ONHID_USAGE_LED_CAMERA_ON
@@ -14633,7 +14449,6 @@
No documentation.
- ff539946HID_USAGE_LED_CAMERA_OFFHID_USAGE_LED_CAMERA_OFF
@@ -14642,7 +14457,6 @@
No documentation.
- ff539946HID_USAGE_LED_ON_LINEHID_USAGE_LED_ON_LINE
@@ -14651,7 +14465,6 @@
No documentation.
- ff539946HID_USAGE_LED_OFF_LINEHID_USAGE_LED_OFF_LINE
@@ -14660,7 +14473,6 @@
No documentation.
- ff539946HID_USAGE_LED_BUSYHID_USAGE_LED_BUSY
@@ -14669,7 +14481,6 @@
No documentation.
- ff539946HID_USAGE_LED_READYHID_USAGE_LED_READY
@@ -14678,7 +14489,6 @@
No documentation.
- ff539946HID_USAGE_LED_PAPER_OUTHID_USAGE_LED_PAPER_OUT
@@ -14687,7 +14497,6 @@
No documentation.
- ff539946HID_USAGE_LED_PAPER_JAMHID_USAGE_LED_PAPER_JAM
@@ -14696,7 +14505,6 @@
No documentation.
- ff539946HID_USAGE_LED_REMOTEHID_USAGE_LED_REMOTE
@@ -14705,7 +14513,6 @@
No documentation.
- ff539946HID_USAGE_LED_FORWARDHID_USAGE_LED_FORWARD
@@ -14714,7 +14521,6 @@
No documentation.
- ff539946HID_USAGE_LED_REVERSEHID_USAGE_LED_REVERSE
@@ -14723,7 +14529,6 @@
No documentation.
- ff539946HID_USAGE_LED_STOPHID_USAGE_LED_STOP
@@ -14732,7 +14537,6 @@
No documentation.
- ff539946HID_USAGE_LED_REWINDHID_USAGE_LED_REWIND
@@ -14741,7 +14545,6 @@
No documentation.
- ff539946HID_USAGE_LED_FAST_FORWARDHID_USAGE_LED_FAST_FORWARD
@@ -14750,7 +14553,6 @@
No documentation.
- ff539946HID_USAGE_LED_PLAYHID_USAGE_LED_PLAY
@@ -14759,7 +14561,6 @@
No documentation.
- ff539946HID_USAGE_LED_PAUSEHID_USAGE_LED_PAUSE
@@ -14768,7 +14569,6 @@
No documentation.
- ff539946HID_USAGE_LED_RECORDHID_USAGE_LED_RECORD
@@ -14777,7 +14577,6 @@
No documentation.
- ff539946HID_USAGE_LED_ERRORHID_USAGE_LED_ERROR
@@ -14786,7 +14585,6 @@
No documentation.
- ff539946HID_USAGE_LED_SELECTED_INDICATORHID_USAGE_LED_SELECTED_INDICATOR
@@ -14795,7 +14593,6 @@
No documentation.
- ff539946HID_USAGE_LED_IN_USE_INDICATORHID_USAGE_LED_IN_USE_INDICATOR
@@ -14804,7 +14601,6 @@
No documentation.
- ff539946HID_USAGE_LED_MULTI_MODE_INDICATORHID_USAGE_LED_MULTI_MODE_INDICATOR
@@ -14813,7 +14609,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_ONHID_USAGE_LED_INDICATOR_ON
@@ -14822,7 +14617,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_FLASHHID_USAGE_LED_INDICATOR_FLASH
@@ -14831,7 +14625,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_SLOW_BLINKHID_USAGE_LED_INDICATOR_SLOW_BLINK
@@ -14840,7 +14633,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_FAST_BLINKHID_USAGE_LED_INDICATOR_FAST_BLINK
@@ -14849,7 +14641,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_OFFHID_USAGE_LED_INDICATOR_OFF
@@ -14858,7 +14649,6 @@
No documentation.
- ff539946HID_USAGE_LED_FLASH_ON_TIMEHID_USAGE_LED_FLASH_ON_TIME
@@ -14867,7 +14657,6 @@
No documentation.
- ff539946HID_USAGE_LED_SLOW_BLINK_ON_TIMEHID_USAGE_LED_SLOW_BLINK_ON_TIME
@@ -14876,7 +14665,6 @@
No documentation.
- ff539946HID_USAGE_LED_SLOW_BLINK_OFF_TIMEHID_USAGE_LED_SLOW_BLINK_OFF_TIME
@@ -14885,7 +14673,6 @@
No documentation.
- ff539946HID_USAGE_LED_FAST_BLINK_ON_TIMEHID_USAGE_LED_FAST_BLINK_ON_TIME
@@ -14894,7 +14681,6 @@
No documentation.
- ff539946HID_USAGE_LED_FAST_BLINK_OFF_TIMEHID_USAGE_LED_FAST_BLINK_OFF_TIME
@@ -14903,7 +14689,6 @@
No documentation.
- ff539946HID_USAGE_LED_INDICATOR_COLORHID_USAGE_LED_INDICATOR_COLOR
@@ -14912,7 +14697,6 @@
No documentation.
- ff539946HID_USAGE_LED_REDHID_USAGE_LED_RED
@@ -14921,7 +14705,6 @@
No documentation.
- ff539946HID_USAGE_LED_GREENHID_USAGE_LED_GREEN
@@ -14930,7 +14713,6 @@
No documentation.
- ff539946HID_USAGE_LED_AMBERHID_USAGE_LED_AMBER
@@ -14939,7 +14721,6 @@
No documentation.
- ff539946HID_USAGE_LED_GENERIC_INDICATORHID_USAGE_LED_GENERIC_INDICATOR
@@ -14948,7 +14729,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_PHONEHID_USAGE_TELEPHONY_PHONE
@@ -14957,7 +14737,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_ANSWERING_MACHINEHID_USAGE_TELEPHONY_ANSWERING_MACHINE
@@ -14966,7 +14745,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_MESSAGE_CONTROLSHID_USAGE_TELEPHONY_MESSAGE_CONTROLS
@@ -14975,7 +14753,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_HANDSETHID_USAGE_TELEPHONY_HANDSET
@@ -14984,7 +14761,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_HEADSETHID_USAGE_TELEPHONY_HEADSET
@@ -14993,7 +14769,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_KEYPADHID_USAGE_TELEPHONY_KEYPAD
@@ -15002,7 +14777,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTONHID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON
@@ -15011,7 +14785,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_REDIALHID_USAGE_TELEPHONY_REDIAL
@@ -15020,7 +14793,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_TRANSFERHID_USAGE_TELEPHONY_TRANSFER
@@ -15029,7 +14801,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_DROPHID_USAGE_TELEPHONY_DROP
@@ -15038,7 +14809,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_LINEHID_USAGE_TELEPHONY_LINE
@@ -15047,7 +14817,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_RING_ENABLEHID_USAGE_TELEPHONY_RING_ENABLE
@@ -15056,7 +14825,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_SENDHID_USAGE_TELEPHONY_SEND
@@ -15065,7 +14833,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_KEYPAD_0HID_USAGE_TELEPHONY_KEYPAD_0
@@ -15074,7 +14841,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_KEYPAD_DHID_USAGE_TELEPHONY_KEYPAD_D
@@ -15083,7 +14849,6 @@
No documentation.
- ff539946HID_USAGE_TELEPHONY_HOST_AVAILABLEHID_USAGE_TELEPHONY_HOST_AVAILABLE
@@ -15092,7 +14857,6 @@
No documentation.
- ff539946HID_USAGE_MS_BTH_HF_DIALNUMBERHID_USAGE_MS_BTH_HF_DIALNUMBER
@@ -15101,7 +14865,6 @@
No documentation.
- ff539946HID_USAGE_MS_BTH_HF_DIALMEMORYHID_USAGE_MS_BTH_HF_DIALMEMORY
@@ -15110,7 +14873,6 @@
No documentation.
- ff539946HID_USAGE_CONSUMERCTRLHID_USAGE_CONSUMERCTRL
@@ -15119,7 +14881,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_PENHID_USAGE_DIGITIZER_PEN
@@ -15128,7 +14889,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_IN_RANGEHID_USAGE_DIGITIZER_IN_RANGE
@@ -15137,7 +14897,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_TIP_SWITCHHID_USAGE_DIGITIZER_TIP_SWITCH
@@ -15146,7 +14905,6 @@
No documentation.
- ff539946HID_USAGE_DIGITIZER_BARREL_SWITCHHID_USAGE_DIGITIZER_BARREL_SWITCH
@@ -15155,16 +14913,14 @@
No documentation.
- ff539946HID_USAGE_PAGEHID_USAGE_PAGE
-
Aliased
+ No documentation.
- ff539946HID_USAGE_PAGE_UNDEFINEDHID_USAGE_PAGE_UNDEFINED
@@ -15173,7 +14929,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_GENERICHID_USAGE_PAGE_GENERIC
@@ -15182,7 +14937,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_SIMULATIONHID_USAGE_PAGE_SIMULATION
@@ -15191,7 +14945,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_VRHID_USAGE_PAGE_VR
@@ -15200,7 +14953,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_SPORTHID_USAGE_PAGE_SPORT
@@ -15209,7 +14961,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_GAMEHID_USAGE_PAGE_GAME
@@ -15218,7 +14969,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_KEYBOARDHID_USAGE_PAGE_KEYBOARD
@@ -15227,7 +14977,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_LEDHID_USAGE_PAGE_LED
@@ -15236,7 +14985,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_BUTTONHID_USAGE_PAGE_BUTTON
@@ -15245,7 +14993,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_ORDINALHID_USAGE_PAGE_ORDINAL
@@ -15254,7 +15001,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_TELEPHONYHID_USAGE_PAGE_TELEPHONY
@@ -15263,7 +15009,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_CONSUMERHID_USAGE_PAGE_CONSUMER
@@ -15272,7 +15017,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_DIGITIZERHID_USAGE_PAGE_DIGITIZER
@@ -15281,7 +15025,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_UNICODEHID_USAGE_PAGE_UNICODE
@@ -15290,7 +15033,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_ALPHANUMERICHID_USAGE_PAGE_ALPHANUMERIC
@@ -15299,7 +15041,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREEHID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE
@@ -15308,7 +15049,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MEDICALHID_USAGE_PAGE_MEDICAL
@@ -15317,7 +15057,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE0HID_USAGE_PAGE_MONITOR_PAGE0
@@ -15326,7 +15065,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE1HID_USAGE_PAGE_MONITOR_PAGE1
@@ -15335,7 +15073,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE2HID_USAGE_PAGE_MONITOR_PAGE2
@@ -15344,7 +15081,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MONITOR_PAGE3HID_USAGE_PAGE_MONITOR_PAGE3
@@ -15353,7 +15089,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE0HID_USAGE_PAGE_POWER_PAGE0
@@ -15362,7 +15097,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE1HID_USAGE_PAGE_POWER_PAGE1
@@ -15371,7 +15105,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE2HID_USAGE_PAGE_POWER_PAGE2
@@ -15380,7 +15113,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_POWER_PAGE3HID_USAGE_PAGE_POWER_PAGE3
@@ -15389,7 +15121,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_BARCODEHID_USAGE_PAGE_BARCODE
@@ -15398,7 +15129,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_SCALEHID_USAGE_PAGE_SCALE
@@ -15407,7 +15137,6 @@
No documentation.
- ff539946HID_USAGE_PAGE_MSRHID_USAGE_PAGE_MSR
@@ -38005,10 +37734,13 @@
-
Indicates the type of locks placed on records during editing.
+
The
+ enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the
+ ILockBytes::LockRegion and
+ methods.
The number of bytes of data to read from the stream object.
A reference to a ULONG variable that receives the actual number of bytes read from the stream object.
Note??The number of bytes read may be zero.
-
This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.
The number of bytes actually read is also returned in the pcbRead parameter.
+
This method reads bytes from this stream object into memory. The stream object must be opened in STGM_READ mode. This method adjusts the seek reference by the actual number of bytes read.
The number of bytes actually read is also returned in the pcbRead parameter.
Notes to Callers
The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation. The number of bytes returned should always be compared to the number of bytes requested. If the number of bytes returned is less than the number of bytes requested, it usually means the Read method attempted to read past the end of the stream.
The application should handle both a returned error and return values on end-of-stream read operations.
aa380011
@@ -38298,11 +38030,11 @@
The SetSize method changes the size of the stream object.
-
Specifies the new size, in bytes, of the stream.
-
This method can return one of these values.
The size of the stream object was successfully changed.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The stream size is not changed because there is no space left on the storage device.
STG_E_INVALIDFUNCTION
The value of the libNewSize parameter is not supported by the implementation. Not all streams support greater than 232 bytes. If a stream does not support more than 232 bytes, the high DWORD data type of libNewSize must be zero. If it is nonzero, the implementation may return STG_E_INVALIDFUNCTION. In general, COM-based implementations of the interface do not support streams larger than 232 bytes.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
Specifies the new size of the stream as a number of bytes.
+
This method can return one of the following values.
The size of the stream object was successfully changed.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The stream size is not changed because there is no space left on the storage device.
STG_E_INVALIDFUNCTION
The value of the libNewSize parameter is not valid. Since streams cannot be greater than 232 bytes in the COM-provided implementation, the high DWORD data type of libNewSize must be 0. If it is nonzero, this parameter is not valid.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
changes the size of the stream object. Call this method to preallocate space for the stream. If the libNewSize parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the
- method if the seek reference is past the current end of the stream.
If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.
The seek reference is not affected by the change in stream size.
Calling can be an effective way to obtain a large chunk of contiguous space.
+ method if the seek reference is past the current end of stream.
If the libNewSize parameter is smaller than the current stream, the stream is truncated to the indicated size.
The seek reference is not affected by the change in stream size.
Calling can be an effective way to obtain a large chunk of contiguous space.
aa380044
@@ -38333,7 +38065,7 @@
The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
Controls how the changes for the stream object are committed. See the enumeration for a definition of these values.
-
This method can return one of these values.
Changes to the stream object were successfully committed to the parent level.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The commit operation failed due to lack of space on the storage device.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
This method can return one of the following values.
Changes to the stream object were successfully committed to the parent level.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_MEDIUMFULL
The commit operation failed due to lack of space on the storage device.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
The Commit method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see
- Compound File Implementation.
If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems.
The method is useful on a direct mode stream when the implementation of the
@@ -38349,7 +38081,7 @@
The Revert method discards all changes that have been made to a transacted stream since the last
call. On streams open in direct mode and streams using the COM compound file implementation of , this method has no effect.
-
This method can return one of these values.
The stream was successfully reverted to its previous version.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
+
This method can return one of the following values.
The stream was successfully reverted to its previous version.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
The Revert method discards changes made to a transacted stream since the last commit operation.
@@ -38365,11 +38097,12 @@
Integer that specifies the byte offset for the beginning of the range.
Integer that specifies the length of the range, in bytes, to be restricted.
Specifies the restrictions being requested on accessing the range.
-
This method can return one of these values.
The specified range of bytes was locked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
Requested lock is supported, but cannot be granted because of an existing lock.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
+
This method can return one of the following values.
The specified range of bytes was locked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information, see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
Requested lock is supported, but cannot be granted because of an existing lock.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
The byte range of the stream can be extended. Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream.
Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by dwLockType, using a value from the
enumeration.
Any region locked with must later be explicitly unlocked by calling
- with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.
+ with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.Notes to Callers
Since the type of locking supported is optional and can vary in different implementations of
+ , you must provide code to deal with the STG_E_INVALIDFUNCTION error.
The LockRegion method has no effect in the compound file implementation, because the implementation does not support range locking.
Notes to Implementers
Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.
aa380039
@@ -38378,19 +38111,13 @@
-
The UnlockRegion method removes the access restriction on a range of bytes previously restricted with
- .
+ No documentation.
No documentation.
No documentation.
No documentation.
-
This method can return one of these values.
The byte range was unlocked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_INVALIDFUNCTION
Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION
The requested unlock operation cannot be granted.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.
-
-
unlocks a region previously locked with the
- method. Locked regions must later be explicitly unlocked by calling with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.