úÎ1˜-f-      !"#$%&'()*+,>This class relates two vector types having consecutive sizes. GReduce number of dimensions by one. (Return the dropped dimension as a Scalar.) KIncrease number of dimensions by one. (Supply value for new dimension as a Scalar.) VPerspective-project to N-1 dimensions. (Also return the distance from the camera as a Scalar.) ZInverse-perspective project into N+1 dimension. (Supply the distance from the camera as a Scalar.) Class for generically reading/writing vector coordinates. )Read from the specified coordinate axis. 9Replace the existing value of the given coordinate axis. The W-axis (fourth axis). The Z-axis (third axis). The Y-axis (second axis). The X-axis (first axis). CThis class deals with any type that has a spatial dimensionallity. B This includes coordinate transforms, bounding boxes, and so on. =Null instances are provided for all the vector types. (E.g.,  Point Vector3 = Vector3.) 3Give the appropriate kind of vector for this type.      WClass for things that can be transformed. Includes instances for all the vector types. Apply a transformation. rClass for performing rotationes. (The rotations that exist vary with the number of spatial dimensions available.) ?Build transform: rotate in the plane defined by the two axies. Class for transforms. Transform a vector. 0Build transform: translate by the given vector. !KBuild transform: scale each coordinate axis according to the given vector. ",Build transform: scale all axies uniformly.  !"  !"  !" !"  !"6-./0123456789:;<=>?@ABCDEFGHIJKLMNOP  #7Class representing things that possess a bounding box. $ Get an object's bounding box. %'Class for dealing with bounding boxes. &•Given two corner points, construct a bounding box containing them both. (You can use any two points, given in any order, provided that they are from opposite corners.) 'rGiven a list of points, construct a bounding box containing them all. (Throws an exception if the list is empty.) (BReturn a point containing the minimum values for all coordinates. )BReturn a point containing the maximum values for all coordinates. *=Test whether a given point lies within a given bounding box. +³Take the union of two bounding boxes. The result is a new bounding box that contains every point that the original pair of boxes contained, and probably some extra space as well. ,QTake the intersection of two bounding boxes. If the boxes do not overlap, return Qe. Otherwise return a bounding box containing only the points common to both original bounding boxes. #$%&'()*+, %&'()*+,#$ #$$%&'()*+,&'()*+,#$%&'()*+,R       !!""##$%&'()*+,-./0123456789:9;9<9=9>9>?@?A?B?C?D?DEFEGEHEHIJIKIKLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]^_`aAC-Vector-Fancy-2.2.0Data.BoundingBoxData.Vector.TransformData.Vector.FancyData.Vector.Transform.FancyData.BoundingBox.Fancy Data.VectorAC-Vector-2.3.1Data.BoundingBox.B4BBox4Data.BoundingBox.B3BBox3Data.BoundingBox.B2BBox2Data.BoundingBox.B1BBox1Data.Vector.Transform.T4 Transform4Data.Vector.Transform.T3 Transform3Data.Vector.Transform.T2 Transform2Data.Vector.Transform.T1 Transform1Projectorthographic_downorthographic_upperspective_downperspective_up VectorAxis get_coord set_coordAxisWAxisZAxisYAxisXHasSpacePoint Transformable transformRotaterotateT Transform transformP translateTscaleTscaleT_HasBBoxget_bbox BoundingBox bound_corners bound_points min_point max_point within_boundsunionisectData.Vector.V4v4wv4zv4yv4xVector4Data.Vector.V3vcrossv3zv3yv3xVector3Data.Vector.V2v2yv2xVector2Data.Vector.V1v1xVector1Data.Vector.Classvlinear vnormalisevmagvdot/||/|**|Scalarvpromotevunpackvpackvfoldvzipvmap BasicVectorVectorbase Data.MaybeNothing