forked from GeometryCollective/geometry-processing-js
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathquicksearch.html
31 lines (25 loc) · 134 KB
/
quicksearch.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
<html>
<head>
</head>
<body style="background: transparent;">
<script src="scripts/docstrap.lib.js"></script>
<script src="scripts/lunr.min.js"></script>
<script src="scripts/fulltext-search.js"></script>
<script type="text/x-docstrap-searchdb">
{"global.html":{"id":"global.html","title":"Global","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Global Members Detector Author: alteredq / http://alteredqualia.com/ mr.doob / http://mrdoob.com/ Methods normalize(positions, vertices, rescale) Centers a mesh about the origin and rescales it to unit radius. Parameters: Name Type Description positions Array.<module:LinearAlgebra.Vector> The position of each vertex in the vertices array. vertices Array.<module:Core.Vertex> The vertices of a mesh. rescale boolean A flag indicating whether mesh positions should be scaled to a unit radius. indexElements(elementList) Assigns an index to each element in elementList. Indices can be accessed by using elements as keys in the returned dictionary. Parameters: Name Type Description elementList Array.<Object> An array of any one of the following mesh elements - vertices, edges, faces, corners, halfedges, boundaries. Returns: A dictionary mapping each element in elementList to a unique index between 0 and |elementList|-1. Type Object Example let vertexIndex = indexElements(mesh.vertices); let v = mesh.vertices[0]; let i = vertexIndex[v]; console.log(i); // prints 0 clamp(x, min, max) Clamps a number between the specified minimum and maximum values. Parameters: Name Type Description x number The number to be clamped. min number The minimum value of x. max number The maximum value of x. Returns: Type number colormap(x, min, max, values) Maps a number to RGB color values. Parameters: Name Type Description x number The number to be mapped to RGB color values. min number The minimum value of x. max number The maximum value of x. values Array.<Array.<number>> The colormap. The current available options are seismic, coolwarm and hot. Returns: Type module:LinearAlgebra.Vector hsv(h, s, v) Computes the hue, saturation, and value of the RGB color model. Parameters: Name Type Description h number The hue of the RGB color model. s number The saturation of the RGB color model. v number The value of the RGB color model. Returns: Type module:LinearAlgebra.Vector × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"modules.list.html":{"id":"modules.list.html","title":"Modules","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Modules Classes Corner DEC Edge Face Geometry Halfedge MeshSubset Mesh Vertex ComplexDenseMatrix ComplexSparseMatrix ComplexTriplet ComplexCholesky ComplexLU ComplexQR Complex DenseMatrix EmscriptenMemoryManager SparseMatrix Triplet Cholesky LU QR Vector TrivialConnections HeatMethod MeanCurvatureFlow ModifiedMeanCurvatureFlow BoundaryFirstFlattening SpectralConformalParameterization ScalarPoissonProblem SimplicialComplexOperators HarmonicBases HodgeDecomposition TreeCotree Distortion MeshIO Solvers × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"classes.list.html":{"id":"classes.list.html","title":"Classes","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Classes Classes Corner DEC Edge Face Geometry Halfedge MeshSubset Mesh Vertex ComplexDenseMatrix ComplexSparseMatrix ComplexTriplet ComplexCholesky ComplexLU ComplexQR Complex DenseMatrix EmscriptenMemoryManager SparseMatrix Triplet Cholesky LU QR Vector TrivialConnections HeatMethod MeanCurvatureFlow ModifiedMeanCurvatureFlow BoundaryFirstFlattening SpectralConformalParameterization ScalarPoissonProblem SimplicialComplexOperators HarmonicBases HodgeDecomposition TreeCotree Distortion MeshIO Solvers × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"index.html":{"id":"index.html","title":"Index","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv geometry-processing-js geometry-processing-js is a fast and flexible framework for 3D geometry processing on the web! Easy integration with HTML/WebGL makes it particularly suitable for things like mobile apps, online demos, and course content. For many tasks, performance comes within striking distance of native (C++) code. Plus, since the framework is pure JavaScript, no compilation or installation is necessary: just copy the files and run from any web browser, on any platform (including mobile). Moreover, geometry processing algorithms can be edited in the browser (using for instance the JavaScript Console in Chrome). So open up one of the demos and start editing! geometry-processing-js is developed by and maintained by the Geometry Collective at Carnegie Mellon University. At a high level, the framework is divided into three parts - a flexible a halfedge mesh data structure, an optimized linear algebra package (based on Eigen), and code for various geometry processing algorithms. Each algorithm comes with its own viewer for rendering. Detailed documentation and unit tests for each of these parts can be found in the docs and tests directories of this repository. We're just getting rolling here, so stay tuned for more! :-) Code Snippet Since geometry-processing-js already implements many of the fundamental operations needed for geometry processing, it's easy to get up and running very quickly. Here's a short snippet showing how to solve a Poisson equation on a mesh loaded by the GUI, which uses built-in routines for constructing the Laplace and mass matrices: // assign an index to each vertex of the mesh let vertexIndex = indexElements(geometry.mesh.vertices); // build cotan-Laplace and mass matrices let A = geometry.laplaceMatrix(vertexIndex); let M = geometry.massMatrix(vertexIndex); let rhs = M.timesDense(rho); // solve Poisson equation with a given right-hand side rhs let llt = A.chol(); let phi = llt.solvePositiveDefinite(rhs); Getting started Clone the repository and change into the projects directory git clone https://github.com/geometrycollective/geometry-processing-js.git cd geometry-processing-js/projects Open the index.html file in any of the sub directories in a browser of your choice (Chrome and Firefox usually provide better rendering performance than Safari). Dependencies (all included) Linear Algebra - A wrapper around the C++ library Eigen compiled to asm.js with emscripten. Future updates will compile the more optimized sparse matrix library Suitesparse to asm.js. (Note that this wrapper can also be used for other, non-geometric projects which seek to use Eigen on the web; you can find the standalone release here) Rendering - three.js Unit Tests - Mocha and Chai About Javascript The implementation of geometry-processing-js attempts to minimize the use of obscure Javascript language features. It should not be too difficult for anyone with experience in a dynamic language like Python or familiar with the principles of Object Oriented Programming to get a handle on Javascript syntax by reading through some of the code in this framework. The documentation contains examples specific to this framework which will also be of help. For a more formal introduction to Javascript, checkout this really nice tutorial. Building the Documentation This documentation was generated using jsdoc and ink-docstrap. We used a modified version of the cosmo theme. After installing jsdoc and ink-docstrap, you can build the documentation by running jsdoc -c node_modules/ink-docstrap/template/jsdoc.conf.json -t node_modules/ink-docstrap/template/ -R geometry-processing-js/README.md -r -d geometry-processing-js/docs Authors Rohan Sawhney Email: [email protected] Mark Gillespie Email: [email protected] Design inspiration: Nick Sharp, Keenan Crane License MIT × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.Corner.html":{"id":"module-Core.Corner.html","title":"Class: Corner","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Corner Core. Corner new Corner() This class represents a corner in a Mesh. It is a convenience wrapper around Halfedge - each corner stores the halfedge opposite to it. Properties: Name Type Description halfedge module:Core.Halfedge The halfedge opposite to this corner. Members vertex :module:Core.Vertex The vertex this corner lies on. Type: module:Core.Vertex face :module:Core.Face The face this corner is contained in. Type: module:Core.Face next :module:Core.Corner The next corner (in CCW order) in this corner's face. Type: module:Core.Corner prev :module:Core.Corner The previous corner (in CCW order) in this corner's face. Type: module:Core.Corner × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.DEC.html":{"id":"module-Core.DEC.html","title":"Class: DEC","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: DEC Core. DEC This class contains methods to build common discrete exterior calculus operators. new DEC() Methods <static> buildHodgeStar0Form(geometry, vertexIndex) Builds a sparse diagonal matrix encoding the Hodge operator on 0-forms. By convention, the area of a vertex is 1. Parameters: Name Type Description geometry module:Core.Geometry The geometry of a mesh. vertexIndex Object A dictionary mapping each vertex of a mesh to a unique index. Returns: Type module:LinearAlgebra.SparseMatrix <static> buildHodgeStar1Form(geometry, edgeIndex) Builds a sparse diagonal matrix encoding the Hodge operator on 1-forms. Parameters: Name Type Description geometry module:Core.Geometry The geometry of a mesh. edgeIndex Object A dictionary mapping each edge of a mesh to a unique index. Returns: Type module:LinearAlgebra.SparseMatrix <static> buildHodgeStar2Form(geometry, faceIndex) Builds a sparse diagonal matrix encoding the Hodge operator on 2-forms. By convention, the area of a vertex is 1. Parameters: Name Type Description geometry module:Core.Geometry The geometry of a mesh. faceIndex Object A dictionary mapping each face of a mesh to a unique index. Returns: Type module:LinearAlgebra.SparseMatrix <static> buildExteriorDerivative0Form(geometry, edgeIndex, vertexIndex) Builds a sparse matrix encoding the exterior derivative on 0-forms. Parameters: Name Type Description geometry module:Core.Geometry The geometry of a mesh. edgeIndex Object A dictionary mapping each edge of a mesh to a unique index. vertexIndex Object A dictionary mapping each vertex of a mesh to a unique index. Returns: Type module:LinearAlgebra.SparseMatrix <static> buildExteriorDerivative1Form(geometry, faceIndex, edgeIndex) Builds a sparse matrix encoding the exterior derivative on 1-forms. Parameters: Name Type Description geometry module:Core.Geometry The geometry of a mesh. faceIndex Object A dictionary mapping each face of a mesh to a unique index. edgeIndex Object A dictionary mapping each edge of a mesh to a unique index. Returns: Type module:LinearAlgebra.SparseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.Edge.html":{"id":"module-Core.Edge.html","title":"Class: Edge","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Edge Core. Edge new Edge() This class represents an edge in a Mesh. Properties: Name Type Description halfedge module:Core.Halfedge One of the halfedges associated with this edge. Methods onBoundary() Checks whether this edge lies on a boundary. Returns: Type boolean × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.Face.html":{"id":"module-Core.Face.html","title":"Class: Face","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Face Core. Face new Face() This class represents a face in a Mesh. Properties: Name Type Description halfedge module:Core.Halfedge One of the halfedges associated with this face. Methods isBoundaryLoop() Checks whether this face is a boundary loop. Returns: Type boolean adjacentVertices(ccw) Convenience function to iterate over the vertices in this face. Iterates over the vertices of a boundary loop if this face is a boundary loop. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Vertex Example let f = mesh.faces[0]; // or let b = mesh.boundaries[0] for (let v of f.adjacentVertices()) { // Do something with v } adjacentEdges(ccw) Convenience function to iterate over the edges in this face. Iterates over the edges of a boundary loop if this face is a boundary loop. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Edge Example let f = mesh.faces[0]; // or let b = mesh.boundaries[0] for (let e of f.adjacentEdges()) { // Do something with e } adjacentFaces(ccw) Convenience function to iterate over the faces neighboring this face. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Face Example let f = mesh.faces[0]; // or let b = mesh.boundaries[0] for (let g of f.adjacentFaces()) { // Do something with g } adjacentHalfedges(ccw) Convenience function to iterate over the halfedges in this face. Iterates over the halfedges of a boundary loop if this face is a boundary loop. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Halfedge Example let f = mesh.faces[0]; // or let b = mesh.boundaries[0] for (let h of f.adjacentHalfedges()) { // Do something with h } adjacentCorners(ccw) Convenience function to iterate over the corners in this face. Not valid if this face is a boundary loop. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Corner Example let f = mesh.faces[0]; for (let c of f.adjacentCorners()) { // Do something with c } × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.Geometry.html":{"id":"module-Core.Geometry.html","title":"Class: Geometry","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Geometry Core. Geometry new Geometry(mesh, positions, normalizePositions) This class represents the geometry of a Mesh. This includes information such as the position of vertices as well as methods to compute edge lengths, corner angles, face area, normals, discrete curvatures etc. Parameters: Name Type Description mesh module:Core.Mesh The mesh this class describes the geometry of. positions Array.<module:LinearAlgebra.Vector> An array containing the position of each vertex in a mesh. normalizePositions boolean flag to indicate whether positions should be normalized. Default value is true. Properties: Name Type Description mesh module:Core.Mesh The mesh this class describes the geometry of. positions Object A dictionary mapping each vertex to a normalized position. Methods vector(h) Computes the vector along a halfedge. Parameters: Name Type Description h module:Core.Halfedge The halfedge along which the vector needs to be computed. Returns: Type module:LinearAlgebra.Vector length(e) Computes the length of an edge. Parameters: Name Type Description e module:Core.Edge The edge whose length needs to be computed. Returns: Type number midpoint(e) Computes the midpoint of an edge. Parameters: Name Type Description e module:Core.Edge The edge whose midpoint needs to be computed. Returns: Type number meanEdgeLength() Computes the mean edge length of all the edges in a mesh. Returns: Type number area(f) Computes the area of a face. Parameters: Name Type Description f module:Core.Face The face whose area needs to be computed. Returns: Type number totalArea() Computes the total surface area of a mesh. Returns: Type number faceNormal(f) Computes the normal of a face. Parameters: Name Type Description f module:Core.Face The face whose normal needs to be computed. Returns: Type module:LinearAlgebra.Vector centroid(f) Computes the centroid of a face. Parameters: Name Type Description f module:Core.Face The face whose centroid needs to be computed. Returns: Type module:LinearAlgebra.Vector circumcenter(f) Computes the circumcenter of a face. Parameters: Name Type Description f module:Core.Face The face whose circumcenter needs to be computed. Returns: Type module:LinearAlgebra.Vector orthonormalBases(f) Computes an orthonormal bases for a face. Parameters: Name Type Description f module:Core.Face The face on which the orthonormal bases needs to be computed. Returns: An array containing two orthonormal vectors tangent to the face. Type Array.<module:LinearAlgebra.Vector> angle(c) Computes the angle (in radians) at a corner. Parameters: Name Type Description c module:Core.Corner The corner at which the angle needs to be computed. Returns: The angle clamped between 0 and π. Type number cotan(h) Computes the cotangent of the angle opposite to a halfedge. Parameters: Name Type Description h module:Core.Halfedge The halfedge opposite to the angle whose cotangent needs to be computed. Returns: Type number dihedralAngle(h) Computes the signed angle (in radians) between two adjacent faces. Parameters: Name Type Description h module:Core.Halfedge The halfedge (shared by the two adjacent faces) on which the dihedral angle is computed. Returns: The dihedral angle. Type number barycentricDualArea(v) Computes the barycentric dual area of a vertex. Parameters: Name Type Description v module:Core.Vertex The vertex whose barycentric dual area needs to be computed. Returns: Type number circumcentricDualArea(v) Computes the circumcentric dual area of a vertex. Parameters: Name Type Description v module:Core.Vertex The vertex whose circumcentric dual area needs to be computed. See: http://cs.cmu.edu/~kmcrane/Projects/Other/TriangleAreasCheatSheet.pdf Returns: Type number vertexNormalEquallyWeighted(v) Computes the normal at a vertex using the \"equally weighted\" method. Parameters: Name Type Description v module:Core.Vertex The vertex on which the normal needs to be computed. Returns: Type module:LinearAlgebra.Vector vertexNormalAreaWeighted(v) Computes the normal at a vertex using the \"face area weights\" method. Parameters: Name Type Description v module:Core.Vertex The vertex on which the normal needs to be computed. Returns: Type module:LinearAlgebra.Vector vertexNormalAngleWeighted(v) Computes the normal at a vertex using the \"tip angle weights\" method. Parameters: Name Type Description v module:Core.Vertex The vertex on which the normal needs to be computed. Returns: Type module:LinearAlgebra.Vector vertexNormalGaussCurvature(v) Computes the normal at a vertex using the \"gauss curvature\" method. Parameters: Name Type Description v module:Core.Vertex The vertex on which the normal needs to be computed. Returns: Type module:LinearAlgebra.Vector vertexNormalMeanCurvature(v) Computes the normal at a vertex using the \"mean curvature\" method (same as the \"area gradient\" method). Parameters: Name Type Description v module:Core.Vertex The vertex on which the normal needs to be computed. Returns: Type module:LinearAlgebra.Vector vertexNormalSphereInscribed(v) Computes the normal at a vertex using the \"inscribed sphere\" method. Parameters: Name Type Description v module:Core.Vertex The vertex on which the normal needs to be computed. Returns: Type module:LinearAlgebra.Vector angleDefect(v) Computes the angle defect at a vertex (= 2π minus the sum of incident angles at an interior vertex or π minus the sum of incident angles at a boundary vertex). Parameters: Name Type Description v module:Core.Vertex The vertex whose angle defect needs to be computed. Returns: Type number scalarGaussCurvature(v) Computes the (integrated) scalar gauss curvature at a vertex. Parameters: Name Type Description v module:Core.Vertex The vertex whose gauss curvature needs to be computed. Returns: Type number scalarMeanCurvature(v) Computes the (integrated) scalar mean curvature at a vertex. Parameters: Name Type Description v module:Core.Vertex The vertex whose mean curvature needs to be computed. Returns: Type number totalAngleDefect() Computes the total angle defect (= 2π times the euler characteristic of the mesh). Returns: Type number principalCurvatures(v) Computes the (pointwise) minimum and maximum principal curvature values at a vertex. Parameters: Name Type Description v module:Core.Vertex The vertex on which the principal curvatures need to be computed. Returns: An array containing the minimum and maximum principal curvature values at a vertex. Type Array.<number> laplaceMatrix(vertexIndex) Builds a sparse laplace matrix. The laplace operator is negative semidefinite; instead we build a positive definite matrix by multiplying the entries of the laplace matrix by -1 and shifting the diagonal elements by a small constant (e.g. 1e-8). Parameters: Name Type Description vertexIndex Object A dictionary mapping each vertex of a mesh to a unique index. Returns: Type module:LinearAlgebra.SparseMatrix massMatrix(vertexIndex) Builds a sparse diagonal mass matrix containing the barycentric dual area of each vertex of a mesh. Parameters: Name Type Description vertexIndex Object A dictionary mapping each vertex of a mesh to a unique index. Returns: Type module:LinearAlgebra.SparseMatrix complexLaplaceMatrix(vertexIndex) Builds a sparse complex laplace matrix. The laplace operator is negative semidefinite; instead we build a positive definite matrix by multiplying the entries of the laplace matrix by -1 and shifting the diagonal elements by a small constant (e.g. 1e-8). Parameters: Name Type Description vertexIndex Object A dictionary mapping each vertex of a mesh to a unique index. Returns: Type module:LinearAlgebra.ComplexSparseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.html":{"id":"module-Core.html","title":"Module: Core","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Module: Core This module implements a halfedge mesh data structure and its associated geometry. A halfedge mesh stores mesh elements such as vertices, edges and faces as well as their connectivity information. The latter is particulary important in geometry processing, as algorithms often exploit local connectivity of mesh elements. At the cost of slightly higher memory consumption compared to other data structures, a halfedge mesh enables quick access of mesh elements. For example, it is possible to enumerate the vertices and edges contained in and faces adjacent to any single face in a mesh. Similar enumerations are also possible for any vertex or edge in a mesh. Additionally, its possible to perform global traversals that enumerate over all mesh vertices, edges and faces in an unspecified but fixed order. The diagram above illustrates how connectivity information is stored locally in a halfedge mesh. The key idea is to split a edge into two directed halfedges. Each halfedge stores a reference to the vertex at its base, the edge it lies on, the face adjacent to it, the next halfedge in counter clockwise order, and the opposite (or twin) halfedge. Each vertex, edge and face of a mesh in turn stores a reference to one of the halfedges (outgoing in the case of a vertex) its incident on. Classes Corner DEC Edge Face Geometry Halfedge MeshSubset Mesh Vertex × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.Halfedge.html":{"id":"module-Core.Halfedge.html","title":"Class: Halfedge","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Halfedge Core. Halfedge new Halfedge() This class defines the connectivity of a Mesh. Properties: Name Type Description vertex module:Core.Vertex The vertex at the base of this halfedge. edge module:Core.Edge The edge associated with this halfedge. face module:Core.Face The face associated with this halfedge. corner module:Core.Corner The corner opposite to this halfedge. Undefined if this halfedge is on the boundary. next module:Core.Halfedge The next halfedge (in CCW order) in this halfedge's face. prev module:Core.Halfedge The previous halfedge (in CCW order) in this halfedge's face. twin module:Core.Halfedge The other halfedge associated with this halfedge's edge. onBoundary boolean A flag that indicates whether this halfedge is on a boundary. × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.MeshSubset.html":{"id":"module-Core.MeshSubset.html","title":"Class: MeshSubset","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: MeshSubset Core. MeshSubset new MeshSubset(vertices, edges, faces) This class represents a subset of a Mesh Parameters: Name Type Description vertices Set.<number> A set of the indices of the vertices which this subset should contain. Default value is the empty set. edges Set.<number> A set of the indices of the edges which this subset should contain. Default value is the empty set. faces Set.<number> A set of the indices of the faces which this subset should contain. Default value is the empty set. Properties: Name Type Description vertices Set.<number> The set of the indices of the vertices which this subset contains. edges Set.<number> The set of the indices of the edges which this subset contains. faces Set.<number> The set of the indices of the faces which this subset contains. Methods <static> deepCopy(subset) Makes a copy of a moduel:Core.MeshSubset Parameters: Name Type Description subset module:Core.MeshSubset The subset to copy. Returns: A copy of the given subset. Type module:Core.MeshSubset addVertex(vertex) Adds a vertex to this subset Parameters: Name Type Description vertex number The index of the vertex to add. addVertices(vertices) Adds set of vertices to this subset Parameters: Name Type Description vertices Set.<number> The set of indices of vertices to add. deleteVertex(vertex) Removes a vertex from this subset. Parameters: Name Type Description vertex number The index of the vertex to remove. deleteVertices(vertices) Removes a set of vertices from this subset. Parameters: Name Type Description vertices Set.<number> The indices of vertices to remove. addEdge(edge) Adds an edge to this subset Parameters: Name Type Description edge number The index of the edge to add. addEdges(edges) Adds set of edges to this subset Parameters: Name Type Description edges number The set of indices of edges to add. deleteEdge(edge) Removes an edge from this subset. Parameters: Name Type Description edge number The index of the edge to remove. deleteEdges(edges) Removes a set of edges from this subset. Parameters: Name Type Description edges Set.<number> The indices of the edges to remove. addFace(face) Adds a face to this subset Parameters: Name Type Description face number The index of the face to add. addFaces(faces) Adds set of faces to this subset Parameters: Name Type Description faces number The set of indices of faces to add. deleteFace(face) Removes a face from this subset. Parameters: Name Type Description face number The index of the face to remove. deleteFaces(faces) Removes a set of faces from this subset. Parameters: Name Type Description faces Set.<number> The indices of the faces to remove. addSubset(subset) Adds a subset's vertices, edges, and faces to this subset. Parameters: Name Type Description subset module:Core.MeshSubset The subset to add in. deleteSubset(subset) Removes a subset's vertices, edges, and faces from this subset. Parameters: Name Type Description subset module:Core.MeshSubset The subset to remove. equals(subset) Returns true if the input subset contains the same vertices, edges, and faces as this subset and false otherwise. Parameters: Name Type Description subset module:Core.MeshSubset The subset to compare to. × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.Mesh.html":{"id":"module-Core.Mesh.html","title":"Class: Mesh","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Mesh Core. Mesh new Mesh() This class represents a Mesh. Properties: Name Type Description vertices Array.<module:Core.Vertex> The vertices contained in this mesh. edges Array.<module:Core.Edge> The edges contained in this mesh. faces Array.<module:Core.Face> The faces contained in this mesh. corners Array.<module:Core.Corner> The corners contained in this mesh. halfedges Array.<module:Core.Halfedge> The halfedges contained in this mesh. boundaries Array.<module:Core.Face> The boundary loops contained in this mesh. generators Array.<Array.<module:Core.Halfedge>> An array of halfedge arrays, i.e., [[h11, h21, ..., hn1], [h12, h22, ..., hm2], ...] representing this mesh's homology generators. Methods eulerCharacteristic() Computes the euler characteristic of this mesh. Returns: Type number build(polygonSoup) Constructs this mesh. Parameters: Name Type Description polygonSoup Object A polygon soup mesh containing vertex positions and indices. Properties Name Type Description v Array.<module:LinearAlgebra.Vector> The vertex positions of the polygon soup mesh. f Array.<number> The indices of the polygon soup mesh. Returns: True if this mesh is constructed successfully and false if not (when this mesh contains any one or a combination of the following - non-manifold vertices, non-manifold edges, isolated vertices, isolated faces). Type boolean × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Core.Vertex.html":{"id":"module-Core.Vertex.html","title":"Class: Vertex","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Vertex Core. Vertex new Vertex() This class represents a vertex in a Mesh. Properties: Name Type Description halfedge module:Core.Halfedge One of the outgoing halfedges associated with this vertex. Methods degree() Counts the number of edges adjacent to this vertex. Returns: Type number isIsolated() Checks whether this vertex is isolated, i.e., it has no neighboring vertices. Returns: Type boolean onBoundary() Checks whether this vertex lies on a boundary. Returns: Type boolean adjacentVertices(ccw) Convenience function to iterate over the vertices neighboring this vertex. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Vertex Example let v = mesh.vertices[0]; for (let u of v.adjacentVertices()) { // Do something with u } adjacentEdges(ccw) Convenience function to iterate over the edges adjacent to this vertex. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Edge Example let v = mesh.vertices[0]; for (let e of v.adjacentEdges()) { // Do something with e } adjacentFaces(ccw) Convenience function to iterate over the faces adjacent to this vertex. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Face Example let v = mesh.vertices[0]; for (let f of v.adjacentFaces()) { // Do something with f } adjacentHalfedges(ccw) Convenience function to iterate over the halfedges adjacent to this vertex. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Halfedge Example let v = mesh.vertices[0]; for (let h of v.adjacentHalfedges()) { // Do something with h } adjacentCorners(ccw) Convenience function to iterate over the corners adjacent to this vertex. Parameters: Name Type Description ccw boolean A flag indicating whether iteration should be in CCW or CW order. Returns: Type module:Core.Corner Example let v = mesh.vertices[0]; for (let c of v.adjacentCorners()) { // Do something with c } × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.ComplexDenseMatrix.html":{"id":"module-LinearAlgebra.ComplexDenseMatrix.html","title":"Class: ComplexDenseMatrix","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ComplexDenseMatrix LinearAlgebra. ComplexDenseMatrix new ComplexDenseMatrix() This class represents a m by n complex matrix where every entry, including zero-valued entries, is stored explicitly. Do not create a ComplexDenseMatrix from its constructor, instead use static factory methods such as zeros, identity, ones, constant and random. Example let A = ComplexDenseMatrix.zeros(20, 5); let B = ComplexDenseMatrix.identity(10, 10); let C = ComplexDenseMatrix.ones(100, 1); let D = ComplexDenseMatrix.constant(new Complex(1, 2), 5, 5); let E = ComplexDenseMatrix.random(5, 20); Methods <static> zeros(m, n) Initializes a m by n matrix of zeros. Parameters: Name Type Description m number The number of rows in this complex dense matrix. n number The number of columns in this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix <static> identity(m, n) Initializes a m by n identity matrix. Parameters: Name Type Description m number The number of rows in this complex dense matrix. n number The number of columns in this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix <static> ones(m, n) Initializes a m by n matrix of ones. Parameters: Name Type Description m number The number of rows in this complex dense matrix. n number The number of columns in this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix <static> constant(x, m, n) Initializes a m by n constant matrix. Parameters: Name Type Description x module:LinearAlgebra.Complex The constant value stored in every entry of this complex dense matrix. m number The number of rows in this complex dense matrix. n number The number of columns in this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix <static> random(m, n) Initializes a m by n random matrix. Parameters: Name Type Description m number The number of rows in this complex dense matrix. n number The number of columns in this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix transpose() Returns the transpose of this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix conjugate() Returns the conjugate of this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix nRows() Returns the number of rows in this complex dense matrix. Returns: Type number nCols() Returns the number of columns in this complex dense matrix. Returns: Type number norm(n) Computes the lInfinity, l1 or l2 norm of this complex dense matrix. Parameters: Name Type Description n number Computes the lInfinity norm if n = 0, l1 norm if n = 1 and l2 norm if n = 2. Returns: Type number rank() Returns the rank of this complex dense matrix. Returns: Type number sum() Sums all the entries in this complex dense matrix. Returns: Type module:LinearAlgebra.Complex subMatrix(r0, r1, c0, c1) Extracts a sub-matrix in the range [r0, r1) x [c0, c1), i.e., a matrix of size (r1 - r0) x (c1 - c0) starting at indices (r0, c0). Parameters: Name Type Description r0 number The start row index. r1 number The end row index (not included). c0 number The start column index. c1 number The end column index (not included). Returns: Type module:LinearAlgebra.ComplexDenseMatrix incrementBy(B) A += B Parameters: Name Type Description B module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix added to this complex dense matrix. decrementBy(B) A -= B Parameters: Name Type Description B module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix subtracted from this complex dense matrix. scaleBy(s) A *= s Parameters: Name Type Description s module:LinearAlgebra.Complex The complex number this complex dense matrix is scaled by. plus(B) Returns A + B Parameters: Name Type Description B module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix added to this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix minus(B) Returns A - B Parameters: Name Type Description B module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix subtracted from this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix timesComplex(s) Returns A * s Parameters: Name Type Description s module:LinearAlgebra.Complex The complex number this complex dense matrix is multiplied by. Returns: Type module:LinearAlgebra.ComplexDenseMatrix timesDense(B) Returns A * B Parameters: Name Type Description B module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix this complex dense matrix is multiplied by. Returns: Type module:LinearAlgebra.ComplexDenseMatrix negated() Returns -A Returns: Type module:LinearAlgebra.ComplexDenseMatrix get(i, j) Returns A(i, j) Parameters: Name Type Description i number The ith row of this complex dense matrix. j number The jth column of this complex dense matrix. Returns: Type module:LinearAlgebra.Complex set(x, i, j) A(i, j) = x Parameters: Name Type Description x module:LinearAlgebra.Complex The complex value the (i, j)th entry of this complex dense matrix is set to. i number The ith row of this complex dense matrix. j number The jth column of this complex dense matrix. hcat(B) Concatenates two complex dense matrices horizontally. Parameters: Name Type Description B module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix that is concatenated horizontally with this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix vcat(B) Concatenates two complex dense matrices vertically. Parameters: Name Type Description B module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix that is concatenated vertically with this complex dense matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.ComplexSparseMatrix.html":{"id":"module-LinearAlgebra.ComplexSparseMatrix.html","title":"Class: ComplexSparseMatrix","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ComplexSparseMatrix LinearAlgebra. ComplexSparseMatrix new ComplexSparseMatrix() This class represents a m by n complex matrix where only nonzero entries are stored explicitly. Do not create a ComplexSparseMatrix from its constructor, instead use static factory methods such as fromTriplet, identity and diag. Example let T = new ComplexTriplet(100, 100); T.addEntry(new Complex(3.4, 6.4), 11, 43); T.addEntry(new Complex(6.4, 3.4), 99, 99); let A = ComplexSparseMatrix.fromTriplet(T); let B = ComplexSparseMatrix.identity(10, 10); let d = ComplexDenseMatrix.ones(100, 1); let C = ComplexSparseMatrix.diag(d); Methods <static> fromTriplet(T) Initializes a complex sparse matrix from a ComplexTriplet object. Parameters: Name Type Description T module:LinearAlgebra.ComplexTriplet A complex triplet object containing only the nonzero entries that need to be stored in this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix <static> identity(m, n) Initializes a m by n complex sparse identity matrix. Parameters: Name Type Description m number The number of rows in this complex sparse matrix. n number The number of columns in this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix <static> diag(d) Initializes a complex sparse diagonal matrix. Parameters: Name Type Description d module:LinearAlgebra.ComplexDenseMatrix The complex dense vector (d.nCols() == 1) used to initialize this complex sparse diagonal matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix transpose() Returns the transpose of this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix invertDiagonal() Returns the inverse of this diagonal complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix conjugate() Returns the conjugate of this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix nRows() Returns the number of rows in this complex sparse matrix. Returns: Type number nCols() Returns the number of columns in this complex sparse matrix. Returns: Type number nnz() Returns the number of nonzero entries in this complex sparse matrix. Returns: Type number frobeniusNorm() Computes the frobenius norm of this complex sparse matrix. Returns: Type number subMatrix(r0, r1, c0, c1) Extracts a complex sparse sub-matrix in the range [r0, r1) x [c0, c1), i.e., a matrix of size (r1 - r0) x (c1 - c0) starting at indices (r0, c0). Parameters: Name Type Description r0 number The start row index. r1 number The end row index (not included). c0 number The start column index. c1 number The end column index (not included). Returns: Type module:LinearAlgebra.ComplexSparseMatrix chol() Returns a sparse ComplexCholesky factorization of this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexCholesky lu() Returns a sparse ComplexLU factorization of this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexLU qr() Returns a sparse ComplexQR factorization of this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexQR toDense() Returns a dense copy of this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexDenseMatrix incrementBy(B) A += B Parameters: Name Type Description B module:LinearAlgebra.ComplexSparseMatrix The complex sparse matrix added to this complex sparse matrix. decrementBy(B) A -= B Parameters: Name Type Description B module:LinearAlgebra.ComplexSparseMatrix The complex sparse matrix subtracted from this complex sparse matrix. scaleBy(s) A *= s Parameters: Name Type Description s module:LinearAlgebra.Complex The complex number this complex sparse matrix is scaled by. plus(B) Returns A + B Parameters: Name Type Description B module:LinearAlgebra.ComplexSparseMatrix The complex sparse matrix added to this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix minus(B) Returns A - B Parameters: Name Type Description B module:LinearAlgebra.ComplexSparseMatrix The complex sparse matrix subtracted from this complex sparse matrix. Returns: Type module:LinearAlgebra.ComplexSparseMatrix timesComplex(s) Returns A * s Parameters: Name Type Description s module:LinearAlgebra.Complex The complex number this complex sparse matrix is multiplied by. Returns: Type module:LinearAlgebra.ComplexSparseMatrix timesDense(X) Returns A * X Parameters: Name Type Description X module:LinearAlgebra.ComplexDenseMatrix The complex dense matrix this complex sparse matrix is multiplied by. Returns: Type module:LinearAlgebra.ComplexDenseMatrix timesSparse(B) Returns A * B Parameters: Name Type Description B module:LinearAlgebra.ComplexSparseMatrix The complex sparse matrix this complex sparse matrix is multiplied by. Returns: Type module:LinearAlgebra.ComplexSparseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.ComplexTriplet.html":{"id":"module-LinearAlgebra.ComplexTriplet.html","title":"Class: ComplexTriplet","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ComplexTriplet LinearAlgebra. ComplexTriplet new ComplexTriplet(m, n) This class represents a small structure to hold nonzero entries in a ComplexSparseMatrix. Each entry is a triplet of a complex value and the (i, j)th indices, i.e., (x, i, j). Parameters: Name Type Description m number The number of rows in the complex sparse matrix that will be initialized from this complex triplet. n number The number of columns in the complex sparse matrix that will be initialized from this complex triplet. Example let T = new ComplexTriplet(100, 100); T.addEntry(new Complex(3.4, 6.4), 11, 43); T.addEntry(new Complex(6.4, 3.4), 99, 99); let A = ComplexSparseMatrix.fromTriplet(T); Methods addEntry(x, i, j) A(i, j) += x Parameters: Name Type Description x number The value of the nonzero entry being inserted into this complex triplet. i number The ith row of the complex sparse matrix that will be initialized from this complex triplet. j number The jth column of the complex sparse matrix that will be initialized from this complex triplet. × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.ComplexCholesky.html":{"id":"module-LinearAlgebra.ComplexCholesky.html","title":"Class: ComplexCholesky","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ComplexCholesky LinearAlgebra. ComplexCholesky new ComplexCholesky() This class represents a complex Choleksy LL^T factorization of a square and positive definite ComplexSparseMatrix. The factorization is computed on the first call to solvePositiveDefinite, and is reused in subsequent calls to solvePositiveDefinite (e.g. when only the right hand side b of the linear system Ax = b changes) unless the complex sparse matrix itself is altered through operations such as *=, += and -=. Do not use the constructor to initialize this class, instead access the complex Choleksy factorization of a complex sparse matrix directly from the matrix itself. Example // solve the linear system Ax = b, where A is a square // and complex positive definite sparse matrix let A = ComplexSparseMatrix.identity(5, 5); let b = ComplexDenseMatrix.ones(5, 1); let llt = A.chol(); let x = llt.solvePositiveDefinite(b); b.scaleBy(new Complex(5, 0)); x = llt.solvePositiveDefinite(b); // factorization is reused Methods solvePositiveDefinite(b) Solves the linear system Ax = b, where A is a square and complex positive definite sparse matrix. Parameters: Name Type Description b module:LinearAlgebra.ComplexDenseMatrix The complex dense right hand side of the linear system Ax = b. Returns: Type module:LinearAlgebra.ComplexDenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.ComplexLU.html":{"id":"module-LinearAlgebra.ComplexLU.html","title":"Class: ComplexLU","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ComplexLU LinearAlgebra. ComplexLU new ComplexLU() This class represents a complex LU factorization of a square ComplexSparseMatrix. The factorization is computed on the first call to solveSquare, and is reused in subsequent calls to solveSquare (e.g. when only the right hand side b of the linear system Ax = b changes) unless the complex sparse matrix itself is altered through operations such as *=, += and -=. Do not use the constructor to initialize this class, instead access the complex LU factorization of a complex sparse matrix directly from the matrix itself. Example // solve the linear system Ax = b, where A is a square and complex sparse matrix let A = ComplexSparseMatrix.identity(5, 5); let b = ComplexDenseMatrix.ones(5, 1); let lu = A.lu(); let x = lu.solveSquare(b); b.scaleBy(new Complex(5, 0)); x = lu.solveSquare(b); // factorization is reused Methods solveSquare(b) Solves the linear system Ax = b, where A is a square and complex sparse matrix. Parameters: Name Type Description b module:LinearAlgebra.ComplexDenseMatrix The complex dense right hand side of the linear system Ax = b. Returns: Type module:LinearAlgebra.ComplexDenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.ComplexQR.html":{"id":"module-LinearAlgebra.ComplexQR.html","title":"Class: ComplexQR","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ComplexQR LinearAlgebra. ComplexQR new ComplexQR() This class represents a complex QR factorization of a rectangular ComplexSparseMatrix. The factorization is computed on the first call to solve, and is reused in subsequent calls to solve (e.g. when only the right hand side b of the linear system Ax = b changes) unless the complex sparse matrix itself is altered through operations such as *=, += and -=. Do not use the constructor to initialize this class, instead access the complex QR factorization of a complex sparse matrix directly from the matrix itself. Example // solve the linear system Ax = b, where A is a rectangular and complex sparse matrix let A = ComplexSparseMatrix.identity(5, 5); let b = ComplexDenseMatrix.ones(5, 1); let qr = A.qr(); let x = qr.solve(b); b.scaleBy(new Complex(5, 0)); x = qr.solve(b); // factorization is reused Methods solve(b) Solves the linear system Ax = b, where A is a rectangular and complex sparse matrix. Parameters: Name Type Description b module:LinearAlgebra.ComplexDenseMatrix The dense right hand side of the linear system Ax = b. Returns: Type module:LinearAlgebra.ComplexDenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.Complex.html":{"id":"module-LinearAlgebra.Complex.html","title":"Class: Complex","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Complex LinearAlgebra. Complex new Complex(re, im) This class represents a complex number a + bi. Parameters: Name Type Description re number The real component of this complex number. im number The imaginary component of this complex number. Members re :number The real component of this complex number. Type: number im :number The imaginary component of this complex number. Type: number Methods arg() Computes the phase angle of this complex number. Returns: Type number norm() Computes the norm of this complex number. Returns: Type number norm2() Computes the squared norm of this complex number. Returns: Type number conjugate() Computes a - bi Returns: Type module:LinearAlgebra.Complex inverse() Computes (a + bi)^-1 Returns: Type module:LinearAlgebra.Complex polar() Computes the polar form ae^(iθ), where a is the norm and θ is the phase angle of this complex number. Returns: Type module:LinearAlgebra.Complex exp() Exponentiates this complex number. Returns: Type module:LinearAlgebra.Complex plus(v) Returns u + v Parameters: Name Type Description v module:LinearAlgebra.Complex The complex number added to this complex number. Returns: Type module:LinearAlgebra.Complex minus(v) Returns u - v Parameters: Name Type Description v module:LinearAlgebra.Complex The complex number subtracted from this complex number. Returns: Type module:LinearAlgebra.Complex timesReal(s) Returns u * s Parameters: Name Type Description s number The number this complex number is multiplied by. Returns: Type module:LinearAlgebra.Complex overReal(s) Returns u / s Parameters: Name Type Description s number The number this complex number is divided by. Returns: Type module:LinearAlgebra.Complex timesComplex(v) Returns u * v Parameters: Name Type Description v module:LinearAlgebra.Complex The complex number this complex number is multiplied by. Returns: Type module:LinearAlgebra.Complex overComplex(v) Returns u / v Parameters: Name Type Description v module:LinearAlgebra.Complex The complex number this complex number is divided by. Returns: Type module:LinearAlgebra.Complex × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.DenseMatrix.html":{"id":"module-LinearAlgebra.DenseMatrix.html","title":"Class: DenseMatrix","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: DenseMatrix LinearAlgebra. DenseMatrix new DenseMatrix() This class represents a real m by n real matrix where every entry, including zero-valued entries, is stored explicitly. Do not create a DenseMatrix from its constructor, instead use static factory methods such as zeros, identity, ones, constant and random. Example let A = DenseMatrix.zeros(20, 5); let B = DenseMatrix.identity(10, 10); let C = DenseMatrix.ones(100, 1); let D = DenseMatrix.constant(4.6, 5, 5); let E = DenseMatrix.random(5, 20); Methods <static> zeros(m, n) Initializes a m by n matrix of zeros. Parameters: Name Type Description m number The number of rows in this dense matrix. n number The number of columns in this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix <static> identity(m, n) Initializes a m by n identity matrix. Parameters: Name Type Description m number The number of rows in this dense matrix. n number The number of columns in this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix <static> ones(m, n) Initializes a m by n matrix of ones. Parameters: Name Type Description m number The number of rows in this dense matrix. n number The number of columns in this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix <static> constant(x, m, n) Initializes a m by n constant matrix. Parameters: Name Type Description x number The constant value stored in every entry of this dense matrix. m number The number of rows in this dense matrix. n number The number of columns in this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix <static> random(m, n) Initializes a m by n random matrix. Parameters: Name Type Description m number The number of rows in this dense matrix. n number The number of columns in this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix transpose() Returns the transpose of this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix nRows() Returns the number of rows in this dense matrix. Returns: Type number nCols() Returns the number of columns in this dense matrix. Returns: Type number norm(n) Computes the lInfinity, l1 or l2 norm of this dense matrix. Parameters: Name Type Description n number Computes the lInfinity norm if n = 0, l1 norm if n = 1 and l2 norm if n = 2. Returns: Type number rank() Returns the rank of this dense matrix. Returns: Type number sum() Sums all the entries in this dense matrix. Returns: Type number subMatrix(r0, r1, c0, c1) Extracts a sub-matrix in the range [r0, r1) x [c0, c1), i.e., a matrix of size (r1 - r0) x (c1 - c0) starting at indices (r0, c0). Parameters: Name Type Description r0 number The start row index. r1 number The end row index (not included). c0 number The start column index. c1 number The end column index (not included). Returns: Type module:LinearAlgebra.DenseMatrix incrementBy(B) A += B Parameters: Name Type Description B module:LinearAlgebra.DenseMatrix The dense matrix added to this dense matrix. decrementBy(B) A -= B Parameters: Name Type Description B module:LinearAlgebra.DenseMatrix The dense matrix subtracted from this dense matrix. scaleBy(s) A *= s Parameters: Name Type Description s number The number this dense matrix is scaled by. plus(B) Returns A + B Parameters: Name Type Description B module:LinearAlgebra.DenseMatrix The dense matrix added to this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix minus(B) Returns A - B Parameters: Name Type Description B module:LinearAlgebra.DenseMatrix The dense matrix subtracted from this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix timesReal(s) Returns A * s Parameters: Name Type Description s number The number this dense matrix is multiplied by. Returns: Type module:LinearAlgebra.DenseMatrix timesDense(B) Returns A * B Parameters: Name Type Description B module:LinearAlgebra.DenseMatrix The dense matrix this dense matrix is multiplied by. Returns: Type module:LinearAlgebra.DenseMatrix negated() Returns -A Returns: Type module:LinearAlgebra.DenseMatrix get(i, j) Returns A(i, j) Parameters: Name Type Description i number The ith row of this dense matrix. j number The jth column of this dense matrix. Returns: Type number set(x, i, j) A(i, j) = x Parameters: Name Type Description x number The real value the (i, j)th entry of this dense matrix is set to. i number The ith row of this dense matrix. j number The jth column of this dense matrix. hcat(B) Concatenates two dense matrices horizontally. Parameters: Name Type Description B module:LinearAlgebra.DenseMatrix The dense matrix that is concatenated horizontally with this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix vcat(B) Concatenates two dense matrices vertically. Parameters: Name Type Description B module:LinearAlgebra.DenseMatrix The dense matrix that is concatenated vertically with this dense matrix. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.EmscriptenMemoryManager.html":{"id":"module-LinearAlgebra.EmscriptenMemoryManager.html","title":"Class: EmscriptenMemoryManager","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: EmscriptenMemoryManager LinearAlgebra. EmscriptenMemoryManager new EmscriptenMemoryManager() This class serves as a semi automatic memory manager/garbage collector for objects that internally store data and perform operations on the emscripten heap, and hence cannot be freed by the Javascript garbage collector. These include DenseMatrix, SparseMatrix, Triplet, Complex, ComplexDenseMatrix, ComplexSparseMatrix and ComplexTriplet. Since operations involving the above matrices and linear algebra entities are frequent and generate a lot of intermediate variables, EmscriptenMemoryManager automatically tracks all objects that are allocated on the emscripten heap to ease the burden of manual memory management. The user is required to inform the EmscriptenMemoryManager about when it should clear the heap and which objects it should not delete while doing so. Properties: Name Type Description objectList Array.<Object> Array of objects allocated on the emscripten heap. Example let memoryManager = new EmscriptenMemoryManager(); let A = SparseMatrix.identity(100, 100); let x = DenseMatrix.random(100, 1); let B = A.timesDense(x).plus(x); // delete all objects created in the previous three calls except B memoryManager.deleteExcept([B]); Methods deleteExcept(exceptList) Deletes all objects in this memory manager's list of emscripten heap allocated objects except those in the array passed to this method. Parameters: Name Type Description exceptList Array.<Object> Array of objects allocated on the emscripten heap that should not to be deleted. × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.SparseMatrix.html":{"id":"module-LinearAlgebra.SparseMatrix.html","title":"Class: SparseMatrix","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: SparseMatrix LinearAlgebra. SparseMatrix new SparseMatrix() This class represents a m by n real matrix where only nonzero entries are stored explicitly. Do not create a SparseMatrix from its constructor, instead use static factory methods such as fromTriplet, identity and diag. Example let T = new Triplet(100, 100); T.addEntry(3.4, 11, 43); T.addEntry(6.4, 99, 99); let A = SparseMatrix.fromTriplet(T); let B = SparseMatrix.identity(10, 10); let d = DenseMatrix.ones(100, 1); let C = SparseMatrix.diag(d); Methods <static> fromTriplet(T) Initializes a sparse matrix from a Triplet object. Parameters: Name Type Description T module:LinearAlgebra.Triplet A triplet object containing only the nonzero entries that need to be stored in this sparse matrix. Returns: Type module:LinearAlgebra.SparseMatrix <static> identity(m, n) Initializes a m by n sparse identity matrix. Parameters: Name Type Description m number The number of rows in this sparse matrix. n number The number of columns in this sparse matrix. Returns: Type module:LinearAlgebra.SparseMatrix <static> diag(d) Initializes a sparse diagonal matrix. Parameters: Name Type Description d module:LinearAlgebra.DenseMatrix The dense vector (d.nCols() == 1) used to initialize this sparse diagonal matrix. Returns: Type module:LinearAlgebra.SparseMatrix transpose() Returns the transpose of this sparse matrix. Returns: Type module:LinearAlgebra.SparseMatrix invertDiagonal() Returns the inverse of this diagonal sparse matrix. Returns: Type module:LinearAlgebra.SparseMatrix nRows() Returns the number of rows in this sparse matrix. Returns: Type number nCols() Returns the number of columns in this sparse matrix. Returns: Type number nnz() Returns the number of nonzero entries in this sparse matrix. Returns: Type number frobeniusNorm() Computes the frobenius norm of this sparse matrix. Returns: Type number subMatrix(r0, r1, c0, c1) Extracts a sparse sub-matrix in the range [r0, r1) x [c0, c1), i.e., a matrix of size (r1 - r0) x (c1 - c0) starting at indices (r0, c0). Parameters: Name Type Description r0 number The start row index. r1 number The end row index (not included). c0 number The start column index. c1 number The end column index (not included). Returns: Type module:LinearAlgebra.SparseMatrix chol() Returns a sparse Cholesky factorization of this sparse matrix. Returns: Type module:LinearAlgebra.Cholesky lu() Returns a sparse LU factorization of this sparse matrix. Returns: Type module:LinearAlgebra.LU qr() Returns a sparse QR factorization of this sparse matrix. Returns: Type module:LinearAlgebra.QR toDense() Returns a dense copy of this sparse matrix. Returns: Type module:LinearAlgebra.DenseMatrix incrementBy(B) A += B Parameters: Name Type Description B module:LinearAlgebra.SparseMatrix The sparse matrix added to this sparse matrix. decrementBy(B) A -= B Parameters: Name Type Description B module:LinearAlgebra.SparseMatrix The sparse matrix subtracted from this sparse matrix. scaleBy(s) A *= s Parameters: Name Type Description s number The number this sparse matrix is scaled by. plus(B) Returns A + B Parameters: Name Type Description B module:LinearAlgebra.SparseMatrix The sparse matrix added to this sparse matrix. Returns: Type module:LinearAlgebra.SparseMatrix minus(B) Returns A - B Parameters: Name Type Description B module:LinearAlgebra.SparseMatrix The sparse matrix subtracted from this sparse matrix. Returns: Type module:LinearAlgebra.SparseMatrix timesReal(s) Returns A * s Parameters: Name Type Description s number The number this sparse matrix is multiplied by. Returns: Type module:LinearAlgebra.SparseMatrix timesDense(X) Returns A * X Parameters: Name Type Description X module:LinearAlgebra.DenseMatrix The dense matrix this sparse matrix is multiplied by. Returns: Type module:LinearAlgebra.DenseMatrix timesSparse(B) Returns A * B Parameters: Name Type Description B module:LinearAlgebra.SparseMatrix The sparse matrix this sparse matrix is multiplied by. Returns: Type module:LinearAlgebra.SparseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.Triplet.html":{"id":"module-LinearAlgebra.Triplet.html","title":"Class: Triplet","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Triplet LinearAlgebra. Triplet new Triplet(m, n) This class represents a small structure to hold nonzero entries in a SparseMatrix. Each entry is a triplet of a value and the (i, j)th indices, i.e., (x, i, j). Parameters: Name Type Description m number The number of rows in the sparse matrix that will be initialized from this triplet. n number The number of columns in the sparse matrix that will be initialized from this triplet. Example let T = new Triplet(100, 100); T.addEntry(3.4, 11, 43); T.addEntry(6.4, 99, 99); let A = SparseMatrix.fromTriplet(T); Methods addEntry(x, i, j) A(i, j) += x Parameters: Name Type Description x number The value of the nonzero entry being inserted into this triplet. i number The ith row of the sparse matrix that will be initialized from this triplet. j number The jth column of the sparse matrix that will be initialized from this triplet. × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.Cholesky.html":{"id":"module-LinearAlgebra.Cholesky.html","title":"Class: Cholesky","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Cholesky LinearAlgebra. Cholesky new Cholesky() This class represents a Choleksy LL^T factorization of a square positive definite SparseMatrix. The factorization is computed on the first call to solvePositiveDefinite, and is reused in subsequent calls to solvePositiveDefinite (e.g. when only the right hand side b of the linear system Ax = b changes) unless the sparse matrix itself is altered through operations such as *=, += and -=. Do not use the constructor to initialize this class, instead access the Choleksy factorization of a sparse matrix directly from the matrix itself. Example // solve the linear system Ax = b, where A is a square positive definite sparse matrix let A = SparseMatrix.identity(5, 5); let b = DenseMatrix.ones(5, 1); let llt = A.chol(); let x = llt.solvePositiveDefinite(b); b.scaleBy(5); x = llt.solvePositiveDefinite(b); // factorization is reused Methods solvePositiveDefinite(b) Solves the linear system Ax = b, where A is a square positive definite sparse matrix. Parameters: Name Type Description b module:LinearAlgebra.DenseMatrix The dense right hand side of the linear system Ax = b. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.LU.html":{"id":"module-LinearAlgebra.LU.html","title":"Class: LU","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: LU LinearAlgebra. LU new LU() This class represents a LU factorization of a square SparseMatrix. The factorization is computed on the first call to solveSquare, and is reused in subsequent calls to solveSquare (e.g. when only the right hand side b of the linear system Ax = b changes) unless the sparse matrix itself is altered through operations such as *=, += and -=. Do not use the constructor to initialize this class, instead access the LU factorization of a sparse matrix directly from the matrix itself. Example // solve the linear system Ax = b, where A is a square sparse matrix let A = SparseMatrix.identity(5, 5); let b = DenseMatrix.ones(5, 1); let lu = A.lu(); let x = lu.solveSquare(b); b.scaleBy(5); x = lu.solveSquare(b); // factorization is reused Methods solveSquare(b) Solves the linear system Ax = b, where A is a square sparse matrix. Parameters: Name Type Description b module:LinearAlgebra.DenseMatrix The dense right hand side of the linear system Ax = b. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.QR.html":{"id":"module-LinearAlgebra.QR.html","title":"Class: QR","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: QR LinearAlgebra. QR new QR() This class represents a QR factorization of a rectangular SparseMatrix. The factorization is computed on the first call to solve, and is reused in subsequent calls to solve (e.g. when only the right hand side b of the linear system Ax = b changes) unless the sparse matrix itself is altered through operations such as *=, += and -=. Do not use the constructor to initialize this class, instead access the QR factorization of a sparse matrix directly from the matrix itself. Example // solve the linear system Ax = b, where A is a rectangular sparse matrix let A = SparseMatrix.identity(5, 5); let b = DenseMatrix.ones(5, 1); let qr = A.qr(); let x = qr.solve(b); b.scaleBy(5); x = qr.solve(b); // factorization is reused Methods solve(b) Solves the linear system Ax = b, where A is a rectangular sparse matrix. Parameters: Name Type Description b module:LinearAlgebra.DenseMatrix The dense right hand side of the linear system Ax = b. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.html":{"id":"module-LinearAlgebra.html","title":"Module: LinearAlgebra","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Module: LinearAlgebra This module contains optimized linear algebra routines for sparse and dense matrices in pure Javascript. Support for the former includes methods to compute Cholesky, LU, and QR matrix factorizations. This module is implemented in asm.js to obtain the best possible performance for a Javascript program, and was compiled from a wrapper around the C++ library Eigen with emscripten. Future updates will compile the more optimized sparse matrix library Suitesparse to asm.js. Classes ComplexDenseMatrix ComplexSparseMatrix ComplexTriplet ComplexCholesky ComplexLU ComplexQR Complex DenseMatrix EmscriptenMemoryManager SparseMatrix Triplet Cholesky LU QR Vector × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-LinearAlgebra.Vector.html":{"id":"module-LinearAlgebra.Vector.html","title":"Class: Vector","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Vector LinearAlgebra. Vector new Vector() This class represents an element of Euclidean 3-space, along with all the usual vector space operations (addition, multiplication by scalars, etc.). Properties: Name Type Description x number The x component of this vector. Default value is 0. y number The y component of this vector. Default value is 0. z number The z component of this vector. Default value is 0. Methods norm() Computes the Euclidean length of this vector. Returns: Type number norm2() Computes the Euclidean length squared of this vector. Returns: Type number normalize() Divides this vector by its Euclidean length. unit() Returns a normalized copy of this vector. Returns: Type module:LinearAlgebra.Vector isValid() Checks whether this vector's components are finite. Returns: Type boolean incrementBy(v) u += v Parameters: Name Type Description v module:LinearAlgebra.Vector The vector added to this vector. decrementBy(v) u -= v Parameters: Name Type Description v module:LinearAlgebra.Vector The vector subtracted from this vector. scaleBy(s) u *= s Parameters: Name Type Description s number The number this vector is scaled by. divideBy(s) u /= s Parameters: Name Type Description s number The number this vector is divided by. plus(v) Returns u + v Parameters: Name Type Description v module:LinearAlgebra.Vector The vector added to this vector. Returns: Type module:LinearAlgebra.Vector minus(v) Returns u - v Parameters: Name Type Description v module:LinearAlgebra.Vector The vector subtracted from this vector. Returns: Type module:LinearAlgebra.Vector times(s) Returns u * s Parameters: Name Type Description s number The number this vector is multiplied by. Returns: Type module:LinearAlgebra.Vector over(s) Returns u / s Parameters: Name Type Description s number The number this vector is divided by. Returns: Type module:LinearAlgebra.Vector negated() Returns -u Returns: Type module:LinearAlgebra.Vector dot(v) Computes the dot product of this vector and v Parameters: Name Type Description v module:LinearAlgebra.Vector The vector this vector is dotted with. Returns: Type number cross(v) Computes the cross product of this vector and v Parameters: Name Type Description v module:LinearAlgebra.Vector The vector this vector is crossed with. Returns: Type module:LinearAlgebra.Vector × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.TrivialConnections.html":{"id":"module-Projects.TrivialConnections.html","title":"Class: TrivialConnections","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: TrivialConnections Projects. TrivialConnections new TrivialConnections(geometry) This class implements the trivial connections algorithm to compute a smooth 1-form vector fields on a surface mesh. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description vertexIndex Object A dictionary mapping each vertex of the input mesh to a unique index. edgeIndex Object A dictionary mapping each edge of the input mesh to a unique index. bases Array.<module:LinearAlgebra.DenseMatrix> The harmonic bases [γ1, γ2 ... γn] of the input mesh. P module:LinearAlgebra.SparseMatrix The period matrix of the input mesh. A module:LinearAlgebra.SparseMatrix The 0-form laplace matrix d0^T star1 d0 of the input mesh. hodge1 module:LinearAlgebra.SparseMatrix The hodge star 1-form matrix of the input mesh. d0 module:LinearAlgebra.SparseMatrix The exterior derivaitve 0-form matrix of the input mesh. Methods computeConnections(singularity) Computes the dual 1-form connections φ = 𝛿β + γ. Parameters: Name Type Description singularity Object A dictionary mapping each vertex of the input mesh to either 0 or 1, where 1 indicates that the vertex is a singularity and 0 indicates that it is not. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.HeatMethod.html":{"id":"module-Projects.HeatMethod.html","title":"Class: HeatMethod","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: HeatMethod Projects. HeatMethod new HeatMethod(geometry) This class implements the heat method to compute geodesic distance on a surface mesh. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. vertexIndex Object A dictionary mapping each vertex of the input mesh to a unique index. A module:LinearAlgebra.SparseMatrix The laplace matrix of the input mesh. F module:LinearAlgebra.SparseMatrix The mean curvature flow operator built on the input mesh. Methods compute(delta) Computes the geodesic distances φ using the heat method. Parameters: Name Type Description delta module:LinearAlgebra.DenseMatrix A dense vector (i.e., delta.nCols() == 1) containing heat sources, i.e., u0 = δ(x). Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.MeanCurvatureFlow.html":{"id":"module-Projects.MeanCurvatureFlow.html","title":"Class: MeanCurvatureFlow","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: MeanCurvatureFlow Projects. MeanCurvatureFlow new MeanCurvatureFlow(geometry) This class performs mean curvature flow on a surface mesh. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. vertexIndex Object A dictionary mapping each vertex of the input mesh to a unique index. Methods integrate(h) Performs mean curvature flow on the input mesh with timestep h. Parameters: Name Type Description h number The timestep. × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.ModifiedMeanCurvatureFlow.html":{"id":"module-Projects.ModifiedMeanCurvatureFlow.html","title":"Class: ModifiedMeanCurvatureFlow","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ModifiedMeanCurvatureFlow Projects. ModifiedMeanCurvatureFlow new ModifiedMeanCurvatureFlow(geometry) This class performs a modified version of mean curvature flow on a surface mesh. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description A module:LinearAlgebra.SparseMatrix The laplace matrix of the input mesh. Extends module:Projects.MeanCurvatureFlow Methods integrate(h) Performs mean curvature flow on the input mesh with timestep h. Parameters: Name Type Description h number The timestep. Inherited From: module:Projects.MeanCurvatureFlow#integrate × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.BoundaryFirstFlattening.html":{"id":"module-Projects.BoundaryFirstFlattening.html","title":"Class: BoundaryFirstFlattening","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: BoundaryFirstFlattening Projects. BoundaryFirstFlattening new BoundaryFirstFlattening(geometry) This class implements the boundary first flattening algorithm to flatten surface meshes with a single boundary conformally. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. boundary Array.<module:Core.Face> The boundary of the input mesh. nV number The number of vertices in the input mesh. nI number The number of interior vertices in the input mesh. nB number The number of boundary vertices in the input mesh. vertexIndex Object A dictionary mapping each vertex of the input mesh to a unique index. bVertexIndex Object A dictionary mapping each boundary vertex of the input mesh to a unique index. K module:LinearAlgebra.DenseMatrix The integrated gaussian curvatures of the input mesh. k module:LinearAlgebra.DenseMatrix The integrated geodesic curvatures of the input mesh. l module:LinearAlgebra.DenseMatrix The boundary edge lengths of the input mesh. A module:LinearAlgebra.SparseMatrix The laplace matrix of the input mesh partitioned by interior and boundary vertices. Aii module:LinearAlgebra.SparseMatrix The upper left block of the partitioned laplace matrix. Aib module:LinearAlgebra.SparseMatrix The upper right block of the partitioned laplace matrix. Abb module:LinearAlgebra.SparseMatrix The lower right block of the partitioned laplace matrix. Methods flatten(target, givenScaleFactors, rescale) Given either the target boundary scale factors or the curvatures, flattens the input surface mesh with a single boundary conformally. Parameters: Name Type Description target module:LinearAlgebra.DenseMatrix Either the target boundary scale factors or the curvatures. givenScaleFactors boolean A flag indicating whether the input data contains the target boundary scale factors. rescale boolean A flag indicating whether the flattening should be scaled to unit radius. Default value is true Returns: A dictionary mapping each vertex to a vector of planar coordinates. Type Object flattenToDisk() Flattens the input surface mesh with a single boundary conformally to a disk. Returns: A dictionary mapping each vertex to a vector of planar coordinates. Type Object × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.SpectralConformalParameterization.html":{"id":"module-Projects.SpectralConformalParameterization.html","title":"Class: SpectralConformalParameterization","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: SpectralConformalParameterization Projects. SpectralConformalParameterization new SpectralConformalParameterization(geometry) This class implements the spectral conformal parameterization algorithm to flatten surface meshes with boundaries conformally. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. vertexIndex Object A dictionary mapping each vertex of the input mesh to a unique index. Methods flatten() Flattens the input surface mesh with 1 or more boundaries conformally. Returns: A dictionary mapping each vertex to a vector of planar coordinates. Type Object × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.html":{"id":"module-Projects.html","title":"Module: Projects","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Module: Projects Classes TrivialConnections HeatMethod MeanCurvatureFlow ModifiedMeanCurvatureFlow BoundaryFirstFlattening SpectralConformalParameterization ScalarPoissonProblem SimplicialComplexOperators HarmonicBases HodgeDecomposition TreeCotree × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.ScalarPoissonProblem.html":{"id":"module-Projects.ScalarPoissonProblem.html","title":"Class: ScalarPoissonProblem","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: ScalarPoissonProblem Projects. ScalarPoissonProblem new ScalarPoissonProblem(geometry) This class solves a scalar poisson problem on a surface mesh. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description vertexIndex Object A dictionary mapping each vertex of the input mesh to a unique index. A module:LinearAlgebra.SparseMatrix The laplace matrix of the input mesh. M module:LinearAlgebra.SparseMatrix The mass matrix of the input mesh. totalArea number The total surface area of the input mesh. Methods solve(rho) Computes the solution of the poisson problem Ax = -M(rho - rhoBar), where A is the positive definite laplace matrix and M is the mass matrix. Parameters: Name Type Description rho module:LinearAlgebra.DenseMatrix A scalar density of vertices of the input mesh. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.SimplicialComplexOperators.html":{"id":"module-Projects.SimplicialComplexOperators.html","title":"Class: SimplicialComplexOperators","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: SimplicialComplexOperators Projects. SimplicialComplexOperators new SimplicialComplexOperators(mesh) This class implements various operators (e.g. boundary, star, link) on a mesh. Parameters: Name Type Description mesh module:Core.Mesh The input mesh this class acts on. Properties: Name Type Description mesh module:Core.Mesh The input mesh this class acts on. A0 module:LinearAlgebra.SparseMatrix The vertex-edge adjacency matrix of mesh. A1 module:LinearAlgebra.SparseMatrix The edge-face adjacency matrix of mesh. Methods assignElementIndices(mesh) Assigns indices to the input mesh's vertices, edges, and faces Parameters: Name Type Description mesh module:Core.Mesh The input mesh which we index. buildVertexEdgeAdjacencyMatrix(mesh) Returns the vertex-edge adjacency matrix of the given mesh. Parameters: Name Type Description mesh module:Core.Mesh The mesh whose adjacency matrix we compute. Returns: The vertex-edge adjacency matrix of the given mesh. Type module:LinearAlgebra.SparseMatrix buildEdgeFaceAdjacencyMatrix(mesh) Returns the edge-face adjacency matrix. Parameters: Name Type Description mesh module:Core.Mesh The mesh whose adjacency matrix we compute. Returns: The edge-face adjacency matrix of the given mesh. Type module:LinearAlgebra.SparseMatrix buildVertexVector(subset) Returns a column vector representing the vertices of the given subset. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: A column vector with |V| entries. The ith entry is 1 if vertex i is in the given subset and 0 otherwise Type module:LinearAlgebra.DenseMatrix buildEdgeVector(subset) Returns a column vector representing the edges of the given subset. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: A column vector with |E| entries. The ith entry is 1 if edge i is in the given subset and 0 otherwise Type module:LinearAlgebra.DenseMatrix buildFaceVector(subset) Returns a column vector representing the faces of the given subset. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: A column vector with |F| entries. The ith entry is 1 if face i is in the given subset and 0 otherwise Type module:LinearAlgebra.DenseMatrix star(subset) Returns the star of a subset. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: The star of the given subset. Type module:Core.MeshSubset closure(subset) Returns the closure of a subset. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: The closure of the given subset. Type module:Core.MeshSubset link(subset) Returns the link of a subset. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: The link of the given subset. Type module:Core.MeshSubset isComplex(subset) Returns true if the given subset is a subcomplex and false otherwise. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: True if the given subset is a subcomplex and false otherwise. Type boolean isPureComplex(subset) Returns the degree if the given subset is a pure subcomplex and -1 otherwise. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. Returns: The degree of the given subset if it is a pure subcomplex and -1 otherwise. Type number boundary(subset) Returns the boundary of a subset. Parameters: Name Type Description subset module:Core.MeshSubset A subset of our mesh. We assume subset is a pure subcomplex. Returns: The boundary of the given pure subcomplex. Type module:Core.MeshSubset × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.HarmonicBases.html":{"id":"module-Projects.HarmonicBases.html","title":"Class: HarmonicBases","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: HarmonicBases Projects. HarmonicBases new HarmonicBases(geometry) This class computes the harmonic bases of a surface mesh. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Methods compute(hodgeDecomposition) Computes the harmonic bases [γ1, γ2 ... γn] of the input mesh. Parameters: Name Type Description hodgeDecomposition module:Projects.HodgeDecomposition A hodge decomposition object that can be used to compute the exact component of the closed, but not exact, primal 1-form ω. Returns: Type Array.<module:LinearAlgebra.DenseMatrix> × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.HodgeDecomposition.html":{"id":"module-Projects.HodgeDecomposition.html","title":"Class: HodgeDecomposition","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: HodgeDecomposition Projects. HodgeDecomposition new HodgeDecomposition(geometry) This class computes the hodge decomposition of a vector field on a surface mesh. Parameters: Name Type Description geometry module:Core.Geometry The input geometry of the mesh this class acts on. Properties: Name Type Description edgeIndex Object A dictionary mapping each edge of the input mesh to a unique index. hodge1 module:LinearAlgebra.SparseMatrix The hodge star 1-form matrix of the input mesh. hodge2 module:LinearAlgebra.SparseMatrix The hodge star 2-form matrix of the input mesh. d0 module:LinearAlgebra.SparseMatrix The exterior derivaitve 0-form matrix of the input mesh. d1 module:LinearAlgebra.SparseMatrix The exterior derivaitve 1-form matrix of the input mesh. hodge1Inv module:LinearAlgebra.SparseMatrix The inverse hodge star 1-form matrix of the input mesh. hodge2Inv module:LinearAlgebra.SparseMatrix The inverse hodge star 2-form matrix of the input mesh. d0T module:LinearAlgebra.SparseMatrix Transpose of the exterior derivaitve 0-form matrix of the input mesh. d1T module:LinearAlgebra.SparseMatrix Transpose of the exterior derivaitve 1-form matrix of the input mesh. A module:LinearAlgebra.SparseMatrix The 0-form laplace matrix d0^T star1 d0 of the input mesh. B module:LinearAlgebra.SparseMatrix The 2-form matrix d1 star1^-1 d1^T of the input mesh. Methods computeExactComponent(omega) Computes the 0-form potential α by solving the system 𝛿dα = 𝛿ω. Parameters: Name Type Description omega module:LinearAlgebra.DenseMatrix A 1-form on the edges of the input mesh. Returns: The exact component dα of ω. Type module:LinearAlgebra.DenseMatrix computeCoExactComponent(omega) Computes the 2-form potential β by solving the system d𝛿β = dω. Parameters: Name Type Description omega module:LinearAlgebra.DenseMatrix A 1-form on the edges of the input mesh. Returns: The coexact component 𝛿β of ω. Type module:LinearAlgebra.DenseMatrix computeHarmonicComponent(omega, dAlpha, deltaBeta) Computes the harmonic component γ = ω - dα - 𝛿β of ω. Parameters: Name Type Description omega module:LinearAlgebra.DenseMatrix A 1-form on the edges of the input mesh. dAlpha module:LinearAlgebra.DenseMatrix The exact component of ω. deltaBeta module:LinearAlgebra.DenseMatrix The coexact component of ω. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Projects.TreeCotree.html":{"id":"module-Projects.TreeCotree.html","title":"Class: TreeCotree","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: TreeCotree Projects. TreeCotree new TreeCotree(mesh) This class computes the tree cotree decomposition of a surface mesh to build its homology generators. Parameters: Name Type Description mesh module:Core.Mesh The input mesh this class acts on. Properties: Name Type Description mesh module:Core.Mesh The input mesh this class acts on. vertexParent vertexParent A dictionary mapping each vertex of the input mesh to its parent in the primal spanning tree. faceParent faceParent A dictionary mapping each face of the input mesh to its parent in the dual spanning tree. Methods buildGenerators() Computes the homology generators of the input mesh and stores them in the Mesh's generators property. × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Utils.html":{"id":"module-Utils.html","title":"Module: Utils","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Module: Utils Classes Distortion MeshIO Solvers × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Utils.Distortion.html":{"id":"module-Utils.Distortion.html","title":"Class: Distortion","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Distortion Utils. Distortion This class computes the quasi conformal error and area scaling resulting from a parameterization algorithm. new Distortion() Methods <static> computeQuasiConformalError(colors, parameterization, geometry) Computes the average quasi conformal error resulting from a parameterization algorithm. Sets a color per face indicating the quasi conformal error. Parameters: Name Type Description colors Array.<module:LinearAlgebra.Vector> An array of colors per face indicating the quasi conformal error. parameterization Object A dictionary mapping each vertex to a vector of coordinates. geometry module:Core.Geometry The input geometry of the mesh which is parameterized. Returns: Type number <static> computeAreaScaling(colors, parameterization, geometry) Computes the average area scaling resulting from a parameterization algorithm. Sets a color per face indicating the area scaling. Parameters: Name Type Description colors Array.<module:LinearAlgebra.Vector> An array of colors per face indicating the area scaling. parameterization Object A dictionary mapping each vertex to a vector of coordinates. geometry module:Core.Geometry The input geometry of the mesh which is parameterized. Returns: Type number × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Utils.MeshIO.html":{"id":"module-Utils.MeshIO.html","title":"Class: MeshIO","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: MeshIO Utils. MeshIO This class converts text from 3D file formats such as OBJ to a polygon soup mesh and vice versa. new MeshIO() Methods <static> readOBJ(input) Converts text from an OBJ file to a polygon soup mesh. Parameters: Name Type Description input string The text from an OBJ file containing vertex positions and indices. Returns: A polygon soup mesh containing vertex positions and indices. Vertex positions and indices are keyed by \"v\" and \"f\" respectively. Type Object <static> writeOBJ(polygonSoup) Converts a polygon soup mesh to the OBJ file format. Parameters: Name Type Description polygonSoup Object A polygon soup mesh containing vertex positions and indices. Texture coordinates and normals are optional. Properties Name Type Description v Array.<module:LinearAlgebra.Vector> The vertex positions of the polygon soup mesh. vt Array.<module:LinearAlgebra.Vector> The texture coordinates of the polygon soup mesh. vn Array.<module:LinearAlgebra.Vector> The normals of the polygon soup mesh. f Array.<number> The indices of the polygon soup mesh. Returns: Text containing vertex positions, texture coordinates, normals and indices in the OBJ format. Type string × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "},"module-Utils.Solvers.html":{"id":"module-Utils.Solvers.html","title":"Class: Solvers","body":" geometry-processing-js Modules CoreLinearAlgebraProjectsUtils Classes Core.CornerCore.DECCore.EdgeCore.FaceCore.GeometryCore.HalfedgeCore.MeshSubsetCore.MeshCore.VertexLinearAlgebra.ComplexDenseMatrixLinearAlgebra.ComplexSparseMatrixLinearAlgebra.ComplexTripletLinearAlgebra.ComplexCholeskyLinearAlgebra.ComplexLULinearAlgebra.ComplexQRLinearAlgebra.ComplexLinearAlgebra.DenseMatrixLinearAlgebra.EmscriptenMemoryManagerLinearAlgebra.SparseMatrixLinearAlgebra.TripletLinearAlgebra.CholeskyLinearAlgebra.LULinearAlgebra.QRLinearAlgebra.VectorProjects.TrivialConnectionsProjects.HeatMethodProjects.MeanCurvatureFlowProjects.ModifiedMeanCurvatureFlowProjects.BoundaryFirstFlatteningProjects.SpectralConformalParameterizationProjects.ScalarPoissonProblemProjects.SimplicialComplexOperatorsProjects.HarmonicBasesProjects.HodgeDecompositionProjects.TreeCotreeUtils.DistortionUtils.MeshIOUtils.Solvers Global normalizeindexElementsDetectorclampcolormaphsv Class: Solvers Utils. Solvers This class implements frequently used numerical algorithms such as the inverse power method. new Solvers() Methods <static> residual(A, x) Computes the residual of Ax - λx, where x has unit norm and λ = x.Ax. Parameters: Name Type Description A module:LinearAlgebra.ComplexSparseMatrix The complex sparse matrix whose eigen decomposition is being computed. x module:LinearAlgebra.ComplexDenseMatrix The current guess for the smallest eigenvector (corresponding to the smallest eigenvalue λ) of A. Returns: Type number <static> solveInversePowerMethod(A) Solves Ax = λx, where λ is the smallest nonzero eigenvalue of A and x is the corresponding eigenvector. x should be initialized to a random complex dense vector (i.e., x.nCols() == 1). Parameters: Name Type Description A module:LinearAlgebra.ComplexSparseMatrix The complex positive definite sparse matrix whose eigen decomposition needs to be computed. Returns: The smallest eigenvector (corresponding to the smallest eigenvalue λ) of A. Type module:LinearAlgebra.ComplexDenseMatrix <static> invert2x2(m) Inverts a 2x2 matrix. Parameters: Name Type Description m module:LinearAlgebra.DenseMatrix The matrix to be inverted. Returns: Type module:LinearAlgebra.DenseMatrix × Search results Close Documentation generated by JSDoc 3.6.3 on Mon Jan 13th 2020 using the DocStrap template. "}}
</script>
<script type="text/javascript">
$(document).ready(function() {
Searcher.init();
});
$(window).on("message", function(msg) {
var msgData = msg.originalEvent.data;
if (msgData.msgid != "docstrap.quicksearch.start") {
return;
}
var results = Searcher.search(msgData.searchTerms);
window.parent.postMessage({"results": results, "msgid": "docstrap.quicksearch.done"}, "*");
});
</script>
</body>
</html>