While the safety of eval is not a concern here, it is still brittle, slow (~60% slower than JSON.parse in modern browsers), allows unintuitive behavior (arbitrary script in responses), and needless given we do not support pre-native-JSON browsers.
This replaces the input box to select tags for highlighting with a dialog that is opened by the button "Highlight tags". The dialog shows only tags that are actually available in the selected skeleton. Closes catmaid/CATMAID#860
The new call does the same as the old, but requires one less global to be defined for the dendrogram and makes the code shorter.
The matrix of an object gets updated automatically every render call, if not disabled explicitly. No transformations are applied to the floor and the bounding box after initial positioning. Therefore, an automatic update of the mesh's matrices is not required.
This was put in by me for testing, but was not meant to be committed.
Functionality requested by Chris Doe. Refactored the cloneWidget method to avoid redundancy.
This extends the animation tools to allow rotation in one of the four axes X, Y, Z and Current Up. There is still a small problem with the camera view doing small local rotations on its own. This, however, will be fixed in a separate commit. The rotations them self work. See catmaid/CATMAID#917
positioned in the exact same way.
This initializes the node scaling so that smallest resolution component is multiplied by two. It has been tested for different resolutions and helps to make node sizes appear similar across them. The default geometry sizes have been changed to match the current sizes. See catmaid/CATMAID#934
Node handles are the active node and nodes that have special tags. See catmaid/CATMAID#934
when 'microtubules end' tags do not exist for shading by dendritic-backbone.
… as fallback If now an object should be picked, a ray is cast first. If this results in a node being picked, it is used. Otherwise, the color based picking function is used. The latter will find a result for sure, but takes maybe a second longer. See catmaid/CATMAID#890
This method renders the all pickable objects (e.g. all spheres and radius volumes) to an off screen buffer. Then it checks for a certain position in this buffer (usually mouse coordinates) and if the resulting color is mapped to a clickable object, the object's ID is returned. This is a much more precise way to pick objects. However, it also is slightly slower than casting a ray.
Some functions in a Space objects already need the option object and get it passed in (which is fine). This is however not possible for all functions, e.g. functions called as a result of a mouse action won't have easy access to the WebGLApplication object. There is no effort involved in keeping this reference in sync, because it is the same object that the WebGLApplication references.
for neurons that do not have "microtubule ends" tags. Also added option to always use Strahler number, for comparison.
and the Strahler number for approximating twigs.
…ions. The Vector3 instances are reused and therefore only half of the vertices need an update.