-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathIO_MatrixFileReader.js.html
executable file
·214 lines (167 loc) · 37.3 KB
/
IO_MatrixFileReader.js.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>IO/MatrixFileReader.js - Documentation</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Lore.AABB.html">AABB</a><ul class='methods'><li data-type='method'><a href="Lore.AABB.html#.clone">clone</a></li><li data-type='method'><a href="Lore.AABB.html#.fromPoints">fromPoints</a></li><li data-type='method'><a href="Lore.AABB.html#.getCorners">getCorners</a></li><li data-type='method'><a href="Lore.AABB.html#cylinderTest">cylinderTest</a></li><li data-type='method'><a href="Lore.AABB.html#distanceFromCenterToPointSq">distanceFromCenterToPointSq</a></li><li data-type='method'><a href="Lore.AABB.html#distanceToPointSq">distanceToPointSq</a></li><li data-type='method'><a href="Lore.AABB.html#getLocCode">getLocCode</a></li><li data-type='method'><a href="Lore.AABB.html#rayTest">rayTest</a></li><li data-type='method'><a href="Lore.AABB.html#setLocCode">setLocCode</a></li><li data-type='method'><a href="Lore.AABB.html#testAABB">testAABB</a></li><li data-type='method'><a href="Lore.AABB.html#updateDimensions">updateDimensions</a></li></ul></li><li><a href="Lore.Attribute.html">Attribute</a><ul class='methods'><li data-type='method'><a href="Lore.Attribute.html#bind">bind</a></li><li data-type='method'><a href="Lore.Attribute.html#createBuffer">createBuffer</a></li><li data-type='method'><a href="Lore.Attribute.html#getGlType">getGlType</a></li><li data-type='method'><a href="Lore.Attribute.html#getW">getW</a></li><li data-type='method'><a href="Lore.Attribute.html#getX">getX</a></li><li data-type='method'><a href="Lore.Attribute.html#getY">getY</a></li><li data-type='method'><a href="Lore.Attribute.html#getZ">getZ</a></li><li data-type='method'><a href="Lore.Attribute.html#setFromVector">setFromVector</a></li><li data-type='method'><a href="Lore.Attribute.html#setFromVectorArray">setFromVectorArray</a></li><li data-type='method'><a href="Lore.Attribute.html#setW">setW</a></li><li data-type='method'><a href="Lore.Attribute.html#setX">setX</a></li><li data-type='method'><a href="Lore.Attribute.html#setY">setY</a></li><li data-type='method'><a href="Lore.Attribute.html#setZ">setZ</a></li><li data-type='method'><a href="Lore.Attribute.html#update">update</a></li></ul></li><li><a href="Lore.CameraBase.html">CameraBase</a><ul class='methods'><li data-type='method'><a href="Lore.CameraBase.html#getProjectionMatrix">getProjectionMatrix</a></li><li data-type='method'><a href="Lore.CameraBase.html#getViewMatrix">getViewMatrix</a></li><li data-type='method'><a href="Lore.CameraBase.html#init">init</a></li><li data-type='method'><a href="Lore.CameraBase.html#sceneToScreen">sceneToScreen</a></li><li data-type='method'><a href="Lore.CameraBase.html#setLookAt">setLookAt</a></li><li data-type='method'><a href="Lore.CameraBase.html#updateProjectionMatrix">updateProjectionMatrix</a></li><li data-type='method'><a href="Lore.CameraBase.html#updateViewMatrix">updateViewMatrix</a></li><li data-type='method'><a href="Lore.CameraBase.html#updateViewport">updateViewport</a></li></ul></li><li><a href="Lore.Color.html">Color</a><ul class='methods'><li data-type='method'><a href="Lore.Color.html#.fromHex">fromHex</a></li><li data-type='method'><a href="Lore.Color.html#.gdbHueShift">gdbHueShift</a></li><li data-type='method'><a href="Lore.Color.html#.hslToHex">hslToHex</a></li><li data-type='method'><a href="Lore.Color.html#.hslToRgb">hslToRgb</a></li><li data-type='method'><a href="Lore.Color.html#.hueToRgb">hueToRgb</a></li><li data-type='method'><a href="Lore.Color.html#.rgbToHsl">rgbToHsl</a></li><li data-type='method'><a href="Lore.Color.html#set">set</a></li></ul></li><li><a href="Lore.ControlsBase.html">ControlsBase</a><ul class='methods'><li data-type='method'><a href="Lore.ControlsBase.html#addEventListener">addEventListener</a></li><li data-type='method'><a href="Lore.ControlsBase.html#getLookAt">getLookAt</a></li><li data-type='method'><a href="Lore.ControlsBase.html#initWebVR">initWebVR</a></li><li data-type='method'><a href="Lore.ControlsBase.html#raiseEvent">raiseEvent</a></li><li data-type='method'><a href="Lore.ControlsBase.html#removeEventListener">removeEventListener</a></li><li data-type='method'><a href="Lore.ControlsBase.html#setLookAt">setLookAt</a></li><li data-type='method'><a href="Lore.ControlsBase.html#update">update</a></li></ul></li><li><a href="Lore.CoordinatesHelper.html">CoordinatesHelper</a><ul class='methods'><li data-type='method'><a href="Lore.CoordinatesHelper.html#init">init</a></li></ul></li><li><a href="Lore.CsvFileReader.html">CsvFileReader</a><ul class='methods'><li data-type='method'><a href="Lore.CsvFileReader.html#loaded">loaded</a></li></ul></li><li><a href="Lore.FileReaderBase.html">FileReaderBase</a><ul class='methods'><li data-type='method'><a href="Lore.FileReaderBase.html#addEventListener">addEventListener</a></li><li data-type='method'><a href="Lore.FileReaderBase.html#loaded">loaded</a></li><li data-type='method'><a href="Lore.FileReaderBase.html#raiseEvent">raiseEvent</a></li></ul></li><li><a href="Lore.FilterBase.html">FilterBase</a><ul class='methods'><li data-type='method'><a href="Lore.FilterBase.html#.isVisible">isVisible</a></li><li data-type='method'><a href="Lore.FilterBase.html#filter">filter</a></li><li data-type='method'><a href="Lore.FilterBase.html#getGeometry">getGeometry</a></li><li data-type='method'><a href="Lore.FilterBase.html#reset">reset</a></li><li data-type='method'><a href="Lore.FilterBase.html#setGeometry">setGeometry</a></li></ul></li><li><a href="Lore.FirstPersonControls.html">FirstPersonControls</a><ul class='methods'><li data-type='method'><a href="Lore.FirstPersonControls.html#update">update</a></li></ul></li><li><a href="Lore.Geometry.html">Geometry</a></li><li><a href="Lore.Graph.html">Graph</a><ul class='methods'><li data-type='method'><a href="Lore.Graph.html#.fromEdgeList">fromEdgeList</a></li><li data-type='method'><a href="Lore.Graph.html#forceLayout">forceLayout</a></li><li data-type='method'><a href="Lore.Graph.html#getDistanceMatrix">getDistanceMatrix</a></li><li data-type='method'><a href="Lore.Graph.html#getEdgeList">getEdgeList</a></li><li data-type='method'><a href="Lore.Graph.html#getUnweightedAdjacencyMatrix">getUnweightedAdjacencyMatrix</a></li><li data-type='method'><a href="Lore.Graph.html#kkLayout">kkLayout</a></li></ul></li><li><a href="Lore.HelperBase.html">HelperBase</a><ul class='methods'><li data-type='method'><a href="Lore.HelperBase.html#destruct">destruct</a></li><li data-type='method'><a href="Lore.HelperBase.html#draw">draw</a></li><li data-type='method'><a href="Lore.HelperBase.html#getAttribute">getAttribute</a></li><li data-type='method'><a href="Lore.HelperBase.html#setAttribute">setAttribute</a></li><li data-type='method'><a href="Lore.HelperBase.html#updateAttribute">updateAttribute</a></li><li data-type='method'><a href="Lore.HelperBase.html#updateAttributeAll">updateAttributeAll</a></li></ul></li><li><a href="Lore.InRangeFilter.html">InRangeFilter</a><ul class='methods'><li data-type='method'><a href="Lore.InRangeFilter.html#filter">filter</a></li><li data-type='method'><a href="Lore.InRangeFilter.html#getMax">getMax</a></li><li data-type='method'><a href="Lore.InRangeFilter.html#getMin">getMin</a></li><li data-type='method'><a href="Lore.InRangeFilter.html#reset">reset</a></li><li data-type='method'><a href="Lore.InRangeFilter.html#setMax">setMax</a></li><li data-type='method'><a href="Lore.InRangeFilter.html#setMin">setMin</a></li></ul></li><li><a href="Lore.Matrix3f.html">Matrix3f</a><ul class='methods'><li data-type='method'><a href="Lore.Matrix3f.html#clone">clone</a></li><li data-type='method'><a href="Lore.Matrix3f.html#equals">equals</a></li></ul></li><li><a href="Lore.Matrix4f.html">Matrix4f</a><ul class='methods'><li data-type='method'><a href="Lore.Matrix4f.html#.compose">compose</a></li><li data-type='method'><a href="Lore.Matrix4f.html#.fromQuaternion">fromQuaternion</a></li><li data-type='method'><a href="Lore.Matrix4f.html#.invert">invert</a></li><li data-type='method'><a href="Lore.Matrix4f.html#.lookAt">lookAt</a></li><li data-type='method'><a href="Lore.Matrix4f.html#.multiply">multiply</a></li><li data-type='method'><a href="Lore.Matrix4f.html#clone">clone</a></li><li data-type='method'><a href="Lore.Matrix4f.html#compose">compose</a></li><li data-type='method'><a href="Lore.Matrix4f.html#decompose">decompose</a></li><li data-type='method'><a href="Lore.Matrix4f.html#determinant">determinant</a></li><li data-type='method'><a href="Lore.Matrix4f.html#equals">equals</a></li><li data-type='method'><a href="Lore.Matrix4f.html#invert">invert</a></li><li data-type='method'><a href="Lore.Matrix4f.html#multiplyA">multiplyA</a></li><li data-type='method'><a href="Lore.Matrix4f.html#multiplyB">multiplyB</a></li><li data-type='method'><a href="Lore.Matrix4f.html#scale">scale</a></li><li data-type='method'><a href="Lore.Matrix4f.html#set">set</a></li><li data-type='method'><a href="Lore.Matrix4f.html#setPosition">setPosition</a></li><li data-type='method'><a href="Lore.Matrix4f.html#setRotation">setRotation</a></li><li data-type='method'><a href="Lore.Matrix4f.html#toString">toString</a></li></ul></li><li><a href="Lore.MatrixFileReader.html">MatrixFileReader</a><ul class='methods'><li data-type='method'><a href="Lore.MatrixFileReader.html#loaded">loaded</a></li></ul></li><li><a href="Lore.Node.html">Node</a><ul class='methods'><li data-type='method'><a href="Lore.Node.html#.createGUID">createGUID</a></li><li data-type='method'><a href="Lore.Node.html#applyMatrix">applyMatrix</a></li><li data-type='method'><a href="Lore.Node.html#getForwardVector">getForwardVector</a></li><li data-type='method'><a href="Lore.Node.html#getModelMatrix">getModelMatrix</a></li><li data-type='method'><a href="Lore.Node.html#getRightVector">getRightVector</a></li><li data-type='method'><a href="Lore.Node.html#getRotationMatrix">getRotationMatrix</a></li><li data-type='method'><a href="Lore.Node.html#getUpVector">getUpVector</a></li><li data-type='method'><a href="Lore.Node.html#rotate">rotate</a></li><li data-type='method'><a href="Lore.Node.html#rotateX">rotateX</a></li><li data-type='method'><a href="Lore.Node.html#rotateY">rotateY</a></li><li data-type='method'><a href="Lore.Node.html#rotateZ">rotateZ</a></li><li data-type='method'><a href="Lore.Node.html#setRotation">setRotation</a></li><li data-type='method'><a href="Lore.Node.html#setTranslation">setTranslation</a></li><li data-type='method'><a href="Lore.Node.html#translateOnAxis">translateOnAxis</a></li><li data-type='method'><a href="Lore.Node.html#translateX">translateX</a></li><li data-type='method'><a href="Lore.Node.html#translateY">translateY</a></li><li data-type='method'><a href="Lore.Node.html#translateZ">translateZ</a></li><li data-type='method'><a href="Lore.Node.html#update">update</a></li></ul></li><li><a href="Lore.Octree.html">Octree</a><ul class='methods'><li data-type='method'><a href="Lore.Octree.html#.clone">clone</a></li><li data-type='method'><a href="Lore.Octree.html#.concatTypedArrays">concatTypedArrays</a></li><li data-type='method'><a href="Lore.Octree.html#.mergeCellDistances">mergeCellDistances</a></li><li data-type='method'><a href="Lore.Octree.html#.mergePointDistances">mergePointDistances</a></li><li data-type='method'><a href="Lore.Octree.html#build">build</a></li><li data-type='method'><a href="Lore.Octree.html#cellDistancesSq">cellDistancesSq</a></li><li data-type='method'><a href="Lore.Octree.html#expandNeighbourhood">expandNeighbourhood</a></li><li data-type='method'><a href="Lore.Octree.html#generateLocCode">generateLocCode</a></li><li data-type='method'><a href="Lore.Octree.html#getCellDistancesToPoint">getCellDistancesToPoint</a></li><li data-type='method'><a href="Lore.Octree.html#getCenters">getCenters</a></li><li data-type='method'><a href="Lore.Octree.html#getClosestBox">getClosestBox</a></li><li data-type='method'><a href="Lore.Octree.html#getClosestBoxFromCenter">getClosestBoxFromCenter</a></li><li data-type='method'><a href="Lore.Octree.html#getClosestPoint">getClosestPoint</a></li><li data-type='method'><a href="Lore.Octree.html#getDepth">getDepth</a></li><li data-type='method'><a href="Lore.Octree.html#getFarthestBox">getFarthestBox</a></li><li data-type='method'><a href="Lore.Octree.html#getFarthestPoint">getFarthestPoint</a></li><li data-type='method'><a href="Lore.Octree.html#getLocCodes">getLocCodes</a></li><li data-type='method'><a href="Lore.Octree.html#getNeighbours">getNeighbours</a></li><li data-type='method'><a href="Lore.Octree.html#getParent">getParent</a></li><li data-type='method'><a href="Lore.Octree.html#kNearestNeighbours">kNearestNeighbours</a></li><li data-type='method'><a href="Lore.Octree.html#pointDistancesSq">pointDistancesSq</a></li><li data-type='method'><a href="Lore.Octree.html#raySearch">raySearch</a></li><li data-type='method'><a href="Lore.Octree.html#traverse">traverse</a></li><li data-type='method'><a href="Lore.Octree.html#traverseIf">traverseIf</a></li></ul></li><li><a href="Lore.OctreeHelper.html">OctreeHelper</a><ul class='methods'><li data-type='method'><a href="Lore.OctreeHelper.html#addEventListener">addEventListener</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#addSelected">addSelected</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#clearSelected">clearSelected</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#destruct">destruct</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#drawBoxes">drawBoxes</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#drawCenters">drawCenters</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#getIntersections">getIntersections</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#getScreenPosition">getScreenPosition</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#hide">hide</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#init">init</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#raiseEvent">raiseEvent</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#rayIntersections">rayIntersections</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#removeSelected">removeSelected</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#selectedContains">selectedContains</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#selectHovered">selectHovered</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#setHovered">setHovered</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#setPointSizeFromZoom">setPointSizeFromZoom</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#setThreshold">setThreshold</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#showCenters">showCenters</a></li><li data-type='method'><a href="Lore.OctreeHelper.html#showCubes">showCubes</a></li></ul></li><li><a href="Lore.OrbitalControls.html">OrbitalControls</a><ul class='methods'><li data-type='method'><a href="Lore.OrbitalControls.html#limitRotationToHorizon">limitRotationToHorizon</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setBackView">setBackView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setBottomView">setBottomView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setFreeView">setFreeView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setFrontView">setFrontView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setLeftView">setLeftView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setRadius">setRadius</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setRightView">setRightView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setTopView">setTopView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setView">setView</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#setZoom">setZoom</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#update">update</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#zoomIn">zoomIn</a></li><li data-type='method'><a href="Lore.OrbitalControls.html#zoomOut">zoomOut</a></li></ul></li><li><a href="Lore.OrthographicCamera.html">OrthographicCamera</a><ul class='methods'><li data-type='method'><a href="Lore.OrthographicCamera.html#updateProjectionMatrix">updateProjectionMatrix</a></li><li data-type='method'><a href="Lore.OrthographicCamera.html#updateViewport">updateViewport</a></li></ul></li><li><a href="Lore.PerspectiveCamera.html">PerspectiveCamera</a><ul class='methods'><li data-type='method'><a href="Lore.PerspectiveCamera.html#updateProjectionMatrix">updateProjectionMatrix</a></li><li data-type='method'><a href="Lore.PerspectiveCamera.html#updateViewport">updateViewport</a></li></ul></li><li><a href="Lore.PointHelper.html">PointHelper</a><ul class='methods'><li data-type='method'><a href="Lore.PointHelper.html#addFilter">addFilter</a></li><li data-type='method'><a href="Lore.PointHelper.html#getCenter">getCenter</a></li><li data-type='method'><a href="Lore.PointHelper.html#getCutoff">getCutoff</a></li><li data-type='method'><a href="Lore.PointHelper.html#getDimensions">getDimensions</a></li><li data-type='method'><a href="Lore.PointHelper.html#getFilter">getFilter</a></li><li data-type='method'><a href="Lore.PointHelper.html#getHue">getHue</a></li><li data-type='method'><a href="Lore.PointHelper.html#getMaxLength">getMaxLength</a></li><li data-type='method'><a href="Lore.PointHelper.html#getMaxRadius">getMaxRadius</a></li><li data-type='method'><a href="Lore.PointHelper.html#getPointScale">getPointScale</a></li><li data-type='method'><a href="Lore.PointHelper.html#getPointSize">getPointSize</a></li><li data-type='method'><a href="Lore.PointHelper.html#getPosition">getPosition</a></li><li data-type='method'><a href="Lore.PointHelper.html#getSaturation">getSaturation</a></li><li data-type='method'><a href="Lore.PointHelper.html#getSize">getSize</a></li><li data-type='method'><a href="Lore.PointHelper.html#initPointSize">initPointSize</a></li><li data-type='method'><a href="Lore.PointHelper.html#removeFilter">removeFilter</a></li><li data-type='method'><a href="Lore.PointHelper.html#setColors">setColors</a></li><li data-type='method'><a href="Lore.PointHelper.html#setCutoff">setCutoff</a></li><li data-type='method'><a href="Lore.PointHelper.html#setFogDistance">setFogDistance</a></li><li data-type='method'><a href="Lore.PointHelper.html#setHSS">setHSS</a></li><li data-type='method'><a href="Lore.PointHelper.html#setHSSFromArrays">setHSSFromArrays</a></li><li data-type='method'><a href="Lore.PointHelper.html#setHue">setHue</a></li><li data-type='method'><a href="Lore.PointHelper.html#setPointScale">setPointScale</a></li><li data-type='method'><a href="Lore.PointHelper.html#setPointSize">setPointSize</a></li><li data-type='method'><a href="Lore.PointHelper.html#setPositions">setPositions</a></li><li data-type='method'><a href="Lore.PointHelper.html#setPositionsXYZ">setPositionsXYZ</a></li><li data-type='method'><a href="Lore.PointHelper.html#setPositionsXYZHSS">setPositionsXYZHSS</a></li><li data-type='method'><a href="Lore.PointHelper.html#setRGB">setRGB</a></li><li data-type='method'><a href="Lore.PointHelper.html#setSaturation">setSaturation</a></li><li data-type='method'><a href="Lore.PointHelper.html#setSize">setSize</a></li><li data-type='method'><a href="Lore.PointHelper.html#updateColor">updateColor</a></li><li data-type='method'><a href="Lore.PointHelper.html#updateColors">updateColors</a></li><li data-type='method'><a href="Lore.PointHelper.html#updateHue">updateHue</a></li><li data-type='method'><a href="Lore.PointHelper.html#updatePointSize">updatePointSize</a></li></ul></li><li><a href="Lore.ProjectionMatrix.html">ProjectionMatrix</a><ul class='methods'><li data-type='method'><a href="Lore.ProjectionMatrix.html#setOrthographic">setOrthographic</a></li><li data-type='method'><a href="Lore.ProjectionMatrix.html#setPerspective">setPerspective</a></li></ul></li><li><a href="Lore.Quaternion.html">Quaternion</a><ul class='methods'><li data-type='method'><a href="Lore.Quaternion.html#.add">add</a></li><li data-type='method'><a href="Lore.Quaternion.html#.conjugate">conjugate</a></li><li data-type='method'><a href="Lore.Quaternion.html#.dot">dot</a></li><li data-type='method'><a href="Lore.Quaternion.html#.fromMatrix">fromMatrix</a></li><li data-type='method'><a href="Lore.Quaternion.html#.inverse">inverse</a></li><li data-type='method'><a href="Lore.Quaternion.html#.multiply">multiply</a></li><li data-type='method'><a href="Lore.Quaternion.html#.multiplyScalar">multiplyScalar</a></li><li data-type='method'><a href="Lore.Quaternion.html#.normalize">normalize</a></li><li data-type='method'><a href="Lore.Quaternion.html#.slerp">slerp</a></li><li data-type='method'><a href="Lore.Quaternion.html#.subtract">subtract</a></li><li data-type='method'><a href="Lore.Quaternion.html#add">add</a></li><li data-type='method'><a href="Lore.Quaternion.html#clone">clone</a></li><li data-type='method'><a href="Lore.Quaternion.html#conjugate">conjugate</a></li><li data-type='method'><a href="Lore.Quaternion.html#dot">dot</a></li><li data-type='method'><a href="Lore.Quaternion.html#equals">equals</a></li><li data-type='method'><a href="Lore.Quaternion.html#getW">getW</a></li><li data-type='method'><a href="Lore.Quaternion.html#getX">getX</a></li><li data-type='method'><a href="Lore.Quaternion.html#getY">getY</a></li><li data-type='method'><a href="Lore.Quaternion.html#getZ">getZ</a></li><li data-type='method'><a href="Lore.Quaternion.html#inverse">inverse</a></li><li data-type='method'><a href="Lore.Quaternion.html#length">length</a></li><li data-type='method'><a href="Lore.Quaternion.html#lengthSq">lengthSq</a></li><li data-type='method'><a href="Lore.Quaternion.html#lookAt">lookAt</a></li><li data-type='method'><a href="Lore.Quaternion.html#multiplyA">multiplyA</a></li><li data-type='method'><a href="Lore.Quaternion.html#multiplyB">multiplyB</a></li><li data-type='method'><a href="Lore.Quaternion.html#multiplyScalar">multiplyScalar</a></li><li data-type='method'><a href="Lore.Quaternion.html#normalize">normalize</a></li><li data-type='method'><a href="Lore.Quaternion.html#rotateX">rotateX</a></li><li data-type='method'><a href="Lore.Quaternion.html#rotateY">rotateY</a></li><li data-type='method'><a href="Lore.Quaternion.html#rotateZ">rotateZ</a></li><li data-type='method'><a href="Lore.Quaternion.html#set">set</a></li><li data-type='method'><a href="Lore.Quaternion.html#setFromAxisAngle">setFromAxisAngle</a></li><li data-type='method'><a href="Lore.Quaternion.html#setFromMatrix">setFromMatrix</a></li><li data-type='method'><a href="Lore.Quaternion.html#setFromUnitVectors">setFromUnitVectors</a></li><li data-type='method'><a href="Lore.Quaternion.html#setW">setW</a></li><li data-type='method'><a href="Lore.Quaternion.html#setX">setX</a></li><li data-type='method'><a href="Lore.Quaternion.html#setY">setY</a></li><li data-type='method'><a href="Lore.Quaternion.html#setZ">setZ</a></li><li data-type='method'><a href="Lore.Quaternion.html#subtract">subtract</a></li><li data-type='method'><a href="Lore.Quaternion.html#toRotationMatrix">toRotationMatrix</a></li><li data-type='method'><a href="Lore.Quaternion.html#toString">toString</a></li></ul></li><li><a href="Lore.RadixSort.html">RadixSort</a><ul class='methods'><li data-type='method'><a href="Lore.RadixSort.html#initHistograms">initHistograms</a></li><li data-type='method'><a href="Lore.RadixSort.html#lsbPass">lsbPass</a></li><li data-type='method'><a href="Lore.RadixSort.html#msbPass">msbPass</a></li><li data-type='method'><a href="Lore.RadixSort.html#pass">pass</a></li><li data-type='method'><a href="Lore.RadixSort.html#sort">sort</a></li></ul></li><li><a href="Lore.Ray.html">Ray</a><ul class='methods'><li data-type='method'><a href="Lore.Ray.html#applyProjection">applyProjection</a></li><li data-type='method'><a href="Lore.Ray.html#closestPointToPoint">closestPointToPoint</a></li><li data-type='method'><a href="Lore.Ray.html#copyFrom">copyFrom</a></li><li data-type='method'><a href="Lore.Ray.html#distanceSqToPoint">distanceSqToPoint</a></li></ul></li><li><a href="Lore.Raycaster.html">Raycaster</a><ul class='methods'><li data-type='method'><a href="Lore.Raycaster.html#set">set</a></li></ul></li><li><a href="Lore.Renderer.html">Renderer</a><ul class='methods'><li data-type='method'><a href="Lore.Renderer.html#animate">animate</a></li><li data-type='method'><a href="Lore.Renderer.html#createGeometry">createGeometry</a></li><li data-type='method'><a href="Lore.Renderer.html#disableContextMenu">disableContextMenu</a></li><li data-type='method'><a href="Lore.Renderer.html#getDevicePixelRatio">getDevicePixelRatio</a></li><li data-type='method'><a href="Lore.Renderer.html#getHeight">getHeight</a></li><li data-type='method'><a href="Lore.Renderer.html#getWidth">getWidth</a></li><li data-type='method'><a href="Lore.Renderer.html#init">init</a></li><li data-type='method'><a href="Lore.Renderer.html#setClearColor">setClearColor</a></li><li data-type='method'><a href="Lore.Renderer.html#setMaxFps">setMaxFps</a></li><li data-type='method'><a href="Lore.Renderer.html#updateViewport">updateViewport</a></li></ul></li><li><a href="Lore.Shader.html">Shader</a></li><li><a href="Lore.SphericalCoords.html">SphericalCoords</a><ul class='methods'><li data-type='method'><a href="Lore.SphericalCoords.html#clone">clone</a></li><li data-type='method'><a href="Lore.SphericalCoords.html#limit">limit</a></li><li data-type='method'><a href="Lore.SphericalCoords.html#secure">secure</a></li><li data-type='method'><a href="Lore.SphericalCoords.html#set">set</a></li><li data-type='method'><a href="Lore.SphericalCoords.html#setFromVector">setFromVector</a></li><li data-type='method'><a href="Lore.SphericalCoords.html#toString">toString</a></li></ul></li><li><a href="Lore.Statistics.html">Statistics</a><ul class='methods'><li data-type='method'><a href="Lore.Statistics.html#.getPercentile">getPercentile</a></li><li data-type='method'><a href="Lore.Statistics.html#.normalize">normalize</a></li><li data-type='method'><a href="Lore.Statistics.html#.normalizeNoOutliers">normalizeNoOutliers</a></li><li data-type='method'><a href="Lore.Statistics.html#.randomNormal">randomNormal</a></li><li data-type='method'><a href="Lore.Statistics.html#.randomNormalInRange">randomNormalInRange</a></li><li data-type='method'><a href="Lore.Statistics.html#.randomNormalScaled">randomNormalScaled</a></li><li data-type='method'><a href="Lore.Statistics.html#.scale">scale</a></li><li data-type='method'><a href="Lore.Statistics.html#.transpose2dArray">transpose2dArray</a></li></ul></li><li><a href="Lore.Tree.html">Tree</a><ul class='methods'><li data-type='method'><a href="Lore.Tree.html#.fromEdgeList">fromEdgeList</a></li><li data-type='method'><a href="Lore.Tree.html#layout">layout</a></li></ul></li><li><a href="Lore.Uniform.html">Uniform</a><ul class='methods'><li data-type='method'><a href="Lore.Uniform.html#.Set">Set</a></li><li data-type='method'><a href="Lore.Uniform.html#setValue">setValue</a></li></ul></li><li><a href="Lore.Utils.html">Utils</a><ul class='methods'><li data-type='method'><a href="Lore.Utils.html#.arrayContains">arrayContains</a></li><li data-type='method'><a href="Lore.Utils.html#.concatTypedArrays">concatTypedArrays</a></li><li data-type='method'><a href="Lore.Utils.html#.extend">extend</a></li><li data-type='method'><a href="Lore.Utils.html#.isFloat">isFloat</a></li><li data-type='method'><a href="Lore.Utils.html#.isInt">isInt</a></li><li data-type='method'><a href="Lore.Utils.html#.jsonp">jsonp</a></li><li data-type='method'><a href="Lore.Utils.html#.mergePointDistances">mergePointDistances</a></li><li data-type='method'><a href="Lore.Utils.html#.msb">msb</a></li></ul></li><li><a href="Lore.Vector3f.html">Vector3f</a><ul class='methods'><li data-type='method'><a href="Lore.Vector3f.html#.add">add</a></li><li data-type='method'><a href="Lore.Vector3f.html#.cross">cross</a></li><li data-type='method'><a href="Lore.Vector3f.html#.divide">divide</a></li><li data-type='method'><a href="Lore.Vector3f.html#.divideScalar">divideScalar</a></li><li data-type='method'><a href="Lore.Vector3f.html#.dot">dot</a></li><li data-type='method'><a href="Lore.Vector3f.html#.forward">forward</a></li><li data-type='method'><a href="Lore.Vector3f.html#.multiply">multiply</a></li><li data-type='method'><a href="Lore.Vector3f.html#.multiplyScalar">multiplyScalar</a></li><li data-type='method'><a href="Lore.Vector3f.html#.normalize">normalize</a></li><li data-type='method'><a href="Lore.Vector3f.html#.right">right</a></li><li data-type='method'><a href="Lore.Vector3f.html#.subtract">subtract</a></li><li data-type='method'><a href="Lore.Vector3f.html#.up">up</a></li><li data-type='method'><a href="Lore.Vector3f.html#add">add</a></li><li data-type='method'><a href="Lore.Vector3f.html#applyProjection">applyProjection</a></li><li data-type='method'><a href="Lore.Vector3f.html#applyQuaternion">applyQuaternion</a></li><li data-type='method'><a href="Lore.Vector3f.html#clone">clone</a></li><li data-type='method'><a href="Lore.Vector3f.html#copyFrom">copyFrom</a></li><li data-type='method'><a href="Lore.Vector3f.html#cross">cross</a></li><li data-type='method'><a href="Lore.Vector3f.html#distanceTo">distanceTo</a></li><li data-type='method'><a href="Lore.Vector3f.html#distanceToSq">distanceToSq</a></li><li data-type='method'><a href="Lore.Vector3f.html#divide">divide</a></li><li data-type='method'><a href="Lore.Vector3f.html#divideScalar">divideScalar</a></li><li data-type='method'><a href="Lore.Vector3f.html#dot">dot</a></li><li data-type='method'><a href="Lore.Vector3f.html#equals">equals</a></li><li data-type='method'><a href="Lore.Vector3f.html#getX">getX</a></li><li data-type='method'><a href="Lore.Vector3f.html#getY">getY</a></li><li data-type='method'><a href="Lore.Vector3f.html#getZ">getZ</a></li><li data-type='method'><a href="Lore.Vector3f.html#length">length</a></li><li data-type='method'><a href="Lore.Vector3f.html#lengthSq">lengthSq</a></li><li data-type='method'><a href="Lore.Vector3f.html#multiply">multiply</a></li><li data-type='method'><a href="Lore.Vector3f.html#multiplyScalar">multiplyScalar</a></li><li data-type='method'><a href="Lore.Vector3f.html#normalize">normalize</a></li><li data-type='method'><a href="Lore.Vector3f.html#project">project</a></li><li data-type='method'><a href="Lore.Vector3f.html#set">set</a></li><li data-type='method'><a href="Lore.Vector3f.html#setFromSphericalCoords">setFromSphericalCoords</a></li><li data-type='method'><a href="Lore.Vector3f.html#setLength">setLength</a></li><li data-type='method'><a href="Lore.Vector3f.html#setX">setX</a></li><li data-type='method'><a href="Lore.Vector3f.html#setY">setY</a></li><li data-type='method'><a href="Lore.Vector3f.html#setZ">setZ</a></li><li data-type='method'><a href="Lore.Vector3f.html#subtract">subtract</a></li><li data-type='method'><a href="Lore.Vector3f.html#toDirection">toDirection</a></li><li data-type='method'><a href="Lore.Vector3f.html#toString">toString</a></li><li data-type='method'><a href="Lore.Vector3f.html#unproject">unproject</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#Lore">Lore</a></li></ul>
</nav>
<div id="main">
<h1 class="page-title">IO/MatrixFileReader.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/** A class representing a matrix file reader. */
Lore.MatrixFileReader = class MatrixFileReader extends Lore.FileReaderBase {
/**
* Creates an instance of MatrixFileReader.
* @param {String} source The source of the file. This is either a input element (type=file) or a URL. If it is a URL, set local to true.
* @param {any} options Options. See documentation for details.
* @param {boolean} [local=true] A boolean indicating whether or not the source is local (a file input) or remote (a url).
*/
constructor(source, options, local = true) {
super(source, local);
this.defaults = {
elementSeperator: '\t',
valueSeparator: ';',
replaceNaNWith: 'NaN',
skipNaN: true,
types: []
}
this.opts = Lore.Utils.extend(true, this.defaults, options);
this.types = this.opts.types;
this.columns = {};
if (this.types.length === 0) {
throw('When reading data from a file, the types have to be specified.');
}
// Add the types for the indices
this.opts.types.unshift('Int32Array');
this.opts.types.unshift('Int32Array');
this.opts.types.unshift('Int32Array');
}
/**
* Called when the data is loaded, will raise the "loaded" event.
*
* @param {any} data The data loaded from the file or url.
* @returns {Lore.MatrixFileReader} Itself.
*/
loaded(data) {
data = data.replace('\n\n', '\n');
data = data.replace(/^\s+|\s+$/g, '');
if (this.opts.replaceNaNWith !== 'NaN') {
data = data.replace('NaN', this.opts.replaceNaNWith);
}
let lines = data.split('\n');
let nRows = lines.length;
let nColumns = lines[0].split(this.opts.elementSeperator).length;
// Including the indices (x, y, z), therefore + 3
let nValues = lines[0].split(this.opts.elementSeperator)[0].split(this.opts.valueSeparator).length + 3;
if (this.types.length !== nValues || this.types.length + nValues === 0) {
let values = lines[0].split(this.opts.valueSeparator);
this.types = [];
for (let i = 0; i < values.length; i++) {
if(Lore.Utils.isFloat(parseFloat(values[i], 10))) {
this.types.push('Float32Array');
} else if (Lore.Utils.isInt(parseFloat(values[i], 10))) {
this.types.push('Int32Array');
} else {
this.types.push('StringArray');
}
}
}
for (var i = 0; i < nValues; i++) {
this._createArray(i, this.types[i], nRows * nColumns);
}
let actualLength = 0;
for (var i = 0; i < nRows; i++) {
let row = lines[i].split(this.opts.elementSeperator);
if (row.length === 0) {
continue;
}
for (var j = 0; j < nColumns; j++) {
if(!row[j]) {
continue;
}
let values = row[j].split(this.opts.valueSeparator);
if (this.opts.skipNaN) {
let skip = false;
for (var k = 0; k < values.length; k++) {
if (isNaN(values[k])) {
skip = true;
break;
}
}
if (skip) {
continue;
}
}
this.columns[0][actualLength] = i;
this.columns[1][actualLength] = j;
// Set zero for 2D matrix
this.columns[2][actualLength] = 0;
for (var k = 0; k < values.length; k++) {
this.columns[k + 3][actualLength] = values[k];
}
actualLength++;
}
}
this._resizeArrays(actualLength);
this.raiseEvent('loaded', this.columns);
return this;
}
_resizeArrays(length) {
// Might need polyfill
for (var i = 0; i < this.columns.length; i++) {
this.columns[i] = this.columns[i].slice(0, length);
}
}
_createArray(index, type, length) {
if (type == 'Int8Array') {
this.columns[index] = new Int8Array(length);
} else if (type == 'Uint8Array') {
this.columns[index] = new Uint8Array(length);
} else if (type == 'Uint8ClampedArray') {
this.columns[index] = new Uint8ClampedArray(length);
} else if (type == 'Int16Array') {
this.columns[index] = new Int16Array(length);
} else if (type == 'Uint16Array') {
this.columns[index] = new Uint16Array(length);
} else if (type == 'Int32Array') {
this.columns[index] = new Int32Array(length);
} else if (type == 'Uint32Array') {
this.columns[index] = new Uint32Array(length);
} else if (type == 'Float32Array') {
this.columns[index] = new Float32Array(length);
} else if (type == 'Float64Array') {
this.columns[index] = new Float64Array(length);
} else {
this.columns[index] = new Array(length);
}
return this;
}
}
</code></pre>
</article>
</section>
</div>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue Apr 24 2018 17:59:04 GMT+0200 (W. Europe Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
</footer>
<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
</body>
</html>