API Docs for:
Show:

renderGlobal Class

Class containing all the methods used in the 3d visual assembly

Methods

addArcSubDiv

(
  • target
  • center
  • startDisp
  • endDisp
  • level
)
Void

Recursively adds Vector3 objects onto the Vector3 list, target, interpolating from startDisp and endDisp in an arc centered at the Vector3 object center. Each layer of recursion adds the midpoint of the arc from startDisp to endDisp until level = 0.

Parameters:

  • target Vector3 Array

    The list where the calculated Vector3 objects should be added

  • center Vector3

    The point which the generated arc should be centered on

  • startDisp Vector3

    The starting point of the arc

  • endDisp Vector3

    The ending point of the arc

  • level Int

    The desired levels of recursion in the point interpolation

Returns:

Void:

addCurveKeyFrames

(
  • theFrameLists
  • startLocation
)
Void

Adds keyframes onto the keyframe lists provided so that the keyframed parts begin their animation at start location and move in an arc to their previously defined start position

Parameters:

  • theFrameLists Object List

    A list of keyframe lists describing the movement of 3d models

  • startLocation Vector3

    The desired new start location of the 3d models in the animation

Returns:

Void:

addDisplacement

(
  • movTree
  • partFrames
  • it
)
Void

Given an tree representation of the movement of parts in an assembly sequence, an array of Objects each associating a list of keyframes with a threeJS mesh object and aLinkcolor string, and the index of the keyframe associated with the tree's root node, displaces the movement line points associated with that particular part of the assembly to match the displacement of the model

Parameters:

  • movTree Object

    Tree of nested objects representing the movement of each subassembly in it's assembly sequence

  • partFrames Array

    An array of Objects each associating a list of keyframes with a threeJS mesh object and a string

  • it Object

    The index of the keyframe associated with the root node of movTree. Used internally. For external use, apply 0.

Returns:

Void:

addGrid

(
  • theSize
  • theDivs
)
Void

Adds a simple square grid of width equal to theSize and a number of lines equal to theDivs at Y=-1000

Parameters:

  • theSize Int

    The desired grid width

  • theDivs Int

    The desired number of lines per side of the grid

Returns:

Void:

addGrid

(
  • theRad
  • theBot
  • theTop
  • theX
  • theZ
  • slices
  • stacks
  • theColor
)
Void

Adds a simple vertical column with a radius of theRad, a base Y value of theBot, a top terminating at theTop, an x and z position equal to theX and theZ, a line color of theColor, a number of vertical segmentations equal to stacks, and a number of radial segmentations equal to slices

Parameters:

  • theRad Float

    The desired radius of the column

  • theBot Float

    The desired bottom y value of the column

  • theTop Float

    The desired top y value of the column

  • theX Float

    The desired x value of the column

  • theZ Float

    The desired z value of the column

  • slices Float

    The desired number of radial segmentations

  • stacks Float

    The desired z value of vertical segmentations

  • theColor Float

    The desired color of the column

Returns:

Void:

addLines

(
  • movTree
  • parentNode
  • theScene
)
Void

Given an tree representation of the movement of parts in an assembly sequence, the parent node of that node, and a threeJS scene object, inserts a line for each subassembly path along the path of movement

Parameters:

  • movTree Object

    Tree of nested objects representing the movement of each subassembly in it's assembly sequence

  • parentNode Object

    Used for internal use. Null should be applied for external use.

  • theScene Object

    the threeJS scene to which the line representations will be added

Returns:

Void:

alignAssemblyCenter

() Void

Aligns the camera to look at the point at the average of the centers of all the parts bounding boxes

Returns:

Void:

animate

(
  • partFrames
  • time
  • timeWarp
)
Float

Given an array of objects (each containing a threeJS mesh object and an array of keyFrame objects), and two floating points "time" and "timeWarp", will animate each mesh in the array along the keyframes in their associate objects according to the given "time" and returns the new time as given by the standard time step multiplied by "timeWarp"

Parameters:

  • partFrames Array

    List of objects relating threeJS mesh objects with their respective keyframe arrays

  • time Float

    The time to be used when interpolating keyFrames for the models

  • timeWarp Float

    The coefficeint to be applied to the timestep in the animation

Returns:

Float:

The new value of time in the animation

arrayToString

(
  • buf
)
String

Converts an arraybuffer into a string of equivalent binary content

Parameters:

  • buf Arraybuffer

    The arraybuffer

Returns:

String:

bindPartsToKeyFrames

(
  • theKeyFrameLists
  • theParts
)
Array

Combines a given array of objects (each associating an array of keyframes to name) with a given array of objects (each associating a threeJS mesh with a name), creating an array of objects with keyFrame arrays and threeJS meshes associated with the same name

Parameters:

  • theKeyFrameLists Array

    An array of objects, each containing an array of keyframe objects called "Frames" and a string property called "Name")

  • theParts Array

    An array of objects, each containing a threeJS mesh object called "Mesh" and a string property called "Name"

Returns:

Array:

centerGeometry

(
  • theGeo
)
ThreeJS Vector3 Object

Finds the average position of all the vertices in a given threeJS Geometry model.

Parameters:

  • theGeo ThreeJS Geometry Object

Returns:

ThreeJS Vector3 Object:

A 3d coordinate, with each component being the unweighted average of the corresponding component in each vector in the provided geometry object. If nodeName vertices are present in the object, a zeroed vector is returned.

combineBounds

(
  • a
  • b
)
Object

Given two threeJS boundingBox objects, returns the smallest bounding box encompassing the two

Parameters:

  • a Object

    The first bounding box

  • b Object

    The second bounding box

Returns:

Object:

The combined bounds

copyFrame

(
  • theFrame
)
Object

Returns a copy of the provided keyframe object

Parameters:

  • theFrame Object

    A keyFrame object

Returns:

Object:

The copy

copyFrameList

(
  • partFrames
)
Array

Returns a copy of the provided array of keyframe objects

Parameters:

  • partFrames Array

    A keyFrame object array

Returns:

Array:

The copy

cutOffNames

(
  • theTree
)
Void

Given a tree of nested javascript objects (each with a string attribute "Name") and an integer "N", removes the first N characters of each Name attribute

Parameters:

  • theTree Object

    The structure containing name data

Returns:

Void:

cutoffPartNames

(
  • partFrames
)
Void

Accepts an array of objects containing a string property called "Name" removes the first N characters in each string, where N is the first index where any two "Name" properties in the array have different characters.

Parameters:

  • partFrames Object Array

    An array of objects, each of which should containin a property called "Name" with a non-null string.

Returns:

Void:

flipTheTimes

(
  • partFrames
)
Int

Given a jagged array of objects, each object at least possessing a numeric property called "Time", sets each Time property to the greatest Time value in the jagged array minus the origional value, thus effectively reversing the temporal order of each object

Parameters:

  • partFrames Array

    The jagged array

Returns:

Int:

The greatest "Time" value in the jagged array

flipTreeTime

(
  • theTree
  • axis
)
Void

Given a tree of nested javascript objects (each with a float attribute "Time") and a float "N", sets each Time value to N minus that value

Parameters:

  • theTree Object

    The structure containing time data

  • axis Float

    The value used to mirror the time values

Returns:

Void:

getChildrenByTag

(
  • theNode
  • tag
)
Void

Given an HTML element and a string, returns a list containing all child elements of the given element with a tag equivalent to the given string

Parameters:

  • theNode HTML Element

    The HTML element whose children are to be searched

  • tag String

    The string to be used when searching for element children

Returns:

Void:

getDepth

(
  • theTree
)
Int

Given a tree of nested javascript objects, returns the depth of the tree

Parameters:

  • theTree Object

    The object structure

Returns:

Int:

The depth of the object

getFirstIntersect

(
  • theScene
  • theCamera
  • partFrames
)
Object

Given a threeJS scene object, a threeJS camera object, and an array of objects containing threeJS mesh objects, finds the first mesh in the scene which is intersected the ray extending through the center of the camera's field of vision. If this mesh is in the provided array of objects, then that object is returned, otherwise null is returned instead

Parameters:

  • theScene Object

    The threeJS scene object in which intersections should be tested

  • theCamera Object

    The threeJS camera object to be used to test for ray intersections

  • partFrames Array

    An array containing a series of objects, each of which contain a threeJS mesh object (under the property "Mesh") to be tested for intersections

Returns:

Object:

The intersecting mesh (or null in case of no valid intersection)

getGeometries

(
  • theSTLs
)
ThreeJS Object List

Accepts a list of binary stl buffer objects and returns a corresponding list of ThreeJS objects.

Parameters:

  • theSTLs Buffer Object List

Returns:

ThreeJS Object List:

getGlobBounds

(
  • a
  • b
)
Object

Given two threeJS boundingBox objects, returns the smallest bounding box encompassing the two

Parameters:

  • a Object

    The first bounding box

  • b Object

    The second bounding box

Returns:

Object:

The combined bounds

getLongestTime

(
  • timeTree
)
Object

Given a tree of nested objects, returns the highest "Time" value from all the nodes

Parameters:

  • timeTree Object

    The tree of time values

Returns:

Object:

The highest time value in the tree

getMov

(
  • theTree
)
JQuery Object

Given a jQuery Object, will return the first child with the tag "Moving" of the first child with the tag "Install" of the object. If no such child exists, null is returned.

Parameters:

  • theTree JQuery Object

    The jQuery object to be accessed

Returns:

JQuery Object:

The resulting child

getMovement

(
  • theTree
  • myX
  • myY
  • myZ
  • myTime
)
Object

Given a jQuery object derived from parsing an XML document, extracts all information relevant to part movement and composes it into an identically structured tree of nested javascript objects which is then returned

Parameters:

  • theTree JQuery Object

    The jQuery object to be parsed over

  • myX Float

    The X position of the subassembly represented by the root node of theTree

  • myY Float

    The Y position of the subassembly represented by the root node of theTree

  • myZ Float

    The Z position of the subassembly represented by the root node of theTree

  • myTime Float

    The time value of the subassembly represented by the root node of theTree

Returns:

Object:

The root node of the tree of extracted movement data

getNameList

(
  • TimeTree
  • SpaceTree
  • NameTree
)
Object

Given a three trees of nested javascript objects, one holding time data, one holding movement data, and one holding part name data

Parameters:

  • TimeTree Object

    The root node of the tree containing time data

  • SpaceTree Object

    The root node of the tree containing movement data

  • NameTree Object

    The root node of the tree containing name data

Returns:

Object:

The root node of the resulting tree

getNames

(
  • theTree
)
Object

Given a jQuery object derived from parsing an XML document, extracts all part name information and composes it into an identically structured tree of nested javascript objects which is then returned

Parameters:

  • theTree JQuery Object

    The jQuery object to be parsed over

Returns:

Object:

The root node of the tree of extracted name data

getPartCenter

(
  • a
)
Object

Given an object, containing a threeJS mesh object as "Mesh", will return the center of the mesh's bounding box

Parameters:

  • a Object

    The object containing the threeJS mesh object

Returns:

Object:

The center of the mesh's bounding box, represented as a threeJS Vector3 object

getPartNameCutoff

(
  • partFrames
)
Int

Accepts an array of objects containing a string property called "Name" and returns the first index where any two "Name" properties in the array have different characters.

Parameters:

  • partFrames Object Array

    An array of objects, each of which should containin a property called "Name" with a non-null string.

Returns:

Int:

The first index where any two "Name" properties in the array are different.

getPartNames

(
  • parts
)
String List

Given a list of parts, returns a list of the names of each part

Parameters:

  • parts Part List

    The list of part objects.

Returns:

String List:

getRandomUTF

(
  • selectSpace
)
Void

Given a staggered array of integer pairs, returns a random UTF character with a UTF value within one of the given integer ranges (inclusive)

Parameters:

  • selectSpace Array

    A staggered array of integer range limits

Returns:

Void:

getRef

(
  • theTree
)
JQuery Object

Given a jQuery Object, will return the first child with the tag "Reference" of the first child with the tag "Install" of the object. If no such child exists, null is returned.

Parameters:

  • theTree JQuery Object

    The jQuery object to be accessed

Returns:

JQuery Object:

The resulting child

getStdMaterial

() Object

Returns a normal material for lines if the global variable "standard" is false. If "standard" is set to true, returns a chromadepth material instead.

Returns:

Object:

getStdMaterial

() Object

Returns a normal material for meshes if the global variable "standard" is false. If "standard" is set to true, returns a chromadepth material instead.

Returns:

Object:

getTimes

(
  • theTree
  • parentTime
)
Object

Given a jQuery object derived from parsing an XML document, extracts all information relevant to installation timing and composes it into an identically structured tree of nested javascript objects which is then returned

Parameters:

  • theTree JQuery Object

    The jQuery object to be parsed over

  • parentTime Float

    The time value of the subassembly represented by the root node of theTree

Returns:

Object:

The root node of the tree of extracted time data

getTreeNames

(
  • tree
  • regTreeNames
  • fstTreeNames
)
Void

Given a tree of nested javascript objects (each with a string attribute "Name"), and two lists, regTreeNames and fstTreeNames, inserts all regular part names into regTreeNames and inserts all fastener part names into fstTreeNames

Parameters:

  • tree Object
  • regTreeNames String List
  • fstTreeNames String List

Returns:

Void:

grab

(
  • theTree
  • theMember
)
JQuery Object

Given a jQuery object and a string, returns the first child of the given element with a tag equivalent to the given string.

Parameters:

  • theTree JQuery Object

    The jQuery object whose child is to be returned

  • theMember String

    The name of the tag being searched

Returns:

JQuery Object:

The first child with the given tag. If such a child does not exist, null is returned.

grabInd

(
  • theTree
  • theMember
  • theIndex
)
JQuery Object

Given a jQuery object and an integer "N", returns the Nth child of the given element with the given tag.

Parameters:

  • theTree JQuery Object

    The jQuery object whose child is to be returned

  • theMember String

    The name of the tag being searched

  • theIndex String

    The ordinal of the matching child to be returned

Returns:

JQuery Object:

The child meeting the tag and ordinal requirement. If such a child does not exist, null is returned.

grabInterp

(
  • frameList
  • time
)
Object

Given a list of keyframes and a time quantity, returns a keyframe object interpolating between the two temporally closest keyframes. In cases where the provide time is beyond the range of times represented by the list, returns the closest keyframe

Parameters:

  • frameList Array

    A list of keyframes. Must be organized from least time value to greatest time value

  • time Float

    Floating-point representation of what time in the keyframe progression the interpolation should occur

Returns:

Object:

The interpolated keyframe

hasNaN

(
  • theFrame
)
Boolean

Returns true if any position component of the given keyframe object is NaN

Parameters:

  • theFrame Object

    A keyFrame object

Returns:

Boolean:

hide

(
  • theNode
)
Void

Given an HTML element, sets the style attributes of that element to hide it's contents.

Parameters:

  • theNode HTML Element

    The HTML element to be hidden.

Returns:

Void:

hideChildren

(
  • theNode
)
Void

Given an HTML element, sets the style attributes of that element's children to hide their contents.

Parameters:

  • theNode HTML Element

    The HTML element whose children are to be hidden.

Returns:

Void:

initAxisLines

() Void

Initializes the axis lines for the bottom-left of the screen

Returns:

Void:

insertTreequenceHTML

(
  • theTree
  • parentElement
)
Void

Given a tree of nested javascript objects and an html element, inserts the contents of the root node of the given tree as an html element into the given element. Returns the name of the generated node.

Parameters:

  • theTree Object

    The tree structure

  • parentElement HTML Element

    The html element to contain the node information

Returns:

Void:

interp

(
  • pointList
  • T
)
Object

Performs a bezier curve interpolation of the control points in pointlist given the time value T, and returns a ThreeJS Vector3 object with the interpolated coordinates.

Parameters:

  • pointList Vector3 Array

    A list of control points for use in interpolation.

  • T Float

    A normalized value for use as a time value in interpolation.

Returns:

Object:

interpolate

(
  • keyFrame1
  • keyFrame2
  • proportion
)
Object

Given two keyFrames and a normalized float "proportion", returns an interpolation between the two keyframes with a weight towards the second keyframe proportional to "proportion"

Parameters:

  • keyFrame1 Object

    The earlier keyFrame

  • keyFrame2 Object

    The later keyFrame

  • proportion Float

    A normalized value representing what proportion of the path of interpolation is between the result and the earlier keyFrame

Returns:

Object:

The jagged array of keyFrame objects

loadParts

() Void

Called internally upon every recieved fileload event. Checks if every file reader in the array "fileReaders" has fully read each of their files. If so, then the function converts all recieved stl files into threeJS models and executes "renderParts".

Returns:

Void:

loadParts

() Void

Called internally upon every recieved fileload event. Checks if every file reader in the array "fileReaders" has fully read each of their files. If so, then the function converts all recieved stl files into threeJS models and executes "renderParts".

Returns:

Void:

longestTimeFromFrames

(
  • partFrames
)
Int

Combines a jagged array of objects, each object at least possessing a numeric property called "Time", returns the value of the greatest "Time" property

Parameters:

  • partFrames Array

    The jagged array

Returns:

Int:

The greatest "Time" value in the jagged array

makeArcPointList

(
  • startPoint
  • center
  • endPoint
  • resolution
)
Vector3 Array

Returns a list of 2^(resolution+1) points which trace an arc beginning at startPoint, terminating at endpoint, and centered around center

Parameters:

  • startPoint Vector3

    The starting point of the arc

  • center Vector3

    The point which the generated arc should be centered on

  • endPoint Vector3

    The ending point of the arc

  • resolution Int

    The desired levels of recursion in the point interpolation

Returns:

Vector3 Array:

makeFastenerKeyFrames

(
  • theFst
  • runningList
  • currentFrameList
)
Void

Creates a keyframe list for the given fastener object and adds it to currentFrameList

Parameters:

  • theFst Object

    The object representation of the fastener being keyframed

  • runningList Object List

    The current running list of keyframes

  • currentFrameList Object List

    The list of part-keyframe list objects

Returns:

Void:

makeKeyFrames

(
  • theTree
  • runningList
  • currentFrameList
)
Array

Given a tree representation of the assembly process through nested javascript objects, returns an array of keyframe array objects, with each keyframe array object being a representation of the movement of each part in the tree representation throughout the assembly proceess, with a list of keyframe objects and a given part name

Parameters:

  • theTree Object

    Tree representation of the assembly process through nested javascript objects

  • runningList Array

    Internally used variable. Should be an empty array for outside use.

  • currentFrameList Array

    Internally used variable. Should be an empty array for outside use.

Returns:

Array:

The jagged array of keyFrame objects

mergeTrees

(
  • TimeTree
  • SpaceTree
  • NameTree
)
Object

Given a three trees of nested javascript objects, one holding time data, one holding movement data, and one holding part name data

Parameters:

  • TimeTree Object

    The root node of the tree containing time data

  • SpaceTree Object

    The root node of the tree containing movement data

  • NameTree Object

    The root node of the tree containing name data

Returns:

Object:

The root node of the resulting tree

parseStl

(
  • stl
)
Object

Converts a given block of ASCII stl data (as an arraybuffer) to a threeJS representation of the geometry. Function courtesy of 'tonylukasavage' from Github, who released this to the public domain.

Parameters:

  • stl Arraybuffer

    The ASCII stl data

Returns:

Object:

threeJS geometry object

parseStlBinary

(
  • stl
)
Object

Converts a given block of binary stl data (as an arraybuffer) to a threeJS representation of the geometry. Function courtesy of 'tonylukasavage' from Github, who released this to the public domain.

Parameters:

  • stl Arraybuffer

    The binary stl data

Returns:

Object:

threeJS geometry object

rdr_grabExtension

(
  • theName
)
String

Accepts a string and outputs the string of all characters following the final '.' symbol in the string. This is used internally to extract file extensions from file names.

Parameters:

  • theName String

    The file name to be processed

Returns:

String:

the extension in the given file name. If no extension is found, the 'undefined' value is returned.

rdr_lockChange

(
  • e
)
Void

Adds or Removes event listeners for input meant for camera manipulation. Is triggered by a change in the state of the mouse locking or unlocking. The mouse locking results in input listeners being added to the webpage, whereas the unlocking of the mouse results in the removal of appropriate listeners.

Parameters:

  • e Event

    The event that is to be applied to the function by event listeners upon a change in the state of mouselock

Returns:

Void:

rdr_manageControls

() Void

Once called, interprets the current state of registered inputs and manipulates the visualization accordingly, including the accelleration of the camera, as affected by the W,S,A, and D keys, and the rotation of the camera if the F key is depressed and there currently is a highlighted object of interest

Returns:

Void:

rdr_mouseMoved

(
  • e
)
Void

Changes the orientation of the camera based off of the mouse movement contained in the supplied mouse movement event. X-axis movement corresponds to change in the yaw of the camera whereas Y-axis movement corresponds to a change in the pitch of the camera.

Parameters:

  • e Event

    The mouse movement event to be supplied to the function by a mouse movement event listener on the web page

Returns:

Void:

rdr_recieveData

(
  • theXMLFile
  • theSTLFiles
)
Void

The function which handles the actual rendering of the solution file animation and loading in the models

Parameters:

  • theXMLFile String
  • theSTLFiles Object

Returns:

Void:

rdr_registerDown

(
  • e
)
Void

Accepts a key press event and, if the key press corresponds to one of the keys used for manipulating the view, sets the proper components of "inputState" to true.

Parameters:

  • e Event

    The key down event to be supplied to the function by a key down event listener on the web page

Returns:

Void:

rdr_registerUp

(
  • e
)
Void

Accepts a key press release and, if the key release corresponds to one of the keys used for manipulating the view, sets the proper components of "inputState" to false

Parameters:

  • e Event

    The key up event to be supplied to the function by a key up event listener on the web page

Returns:

Void:

rdr_renderParts

() Void

Called internally by "loadParts". Parses the text stored in "theXML" into a tree structure composed of nested javascript objects and converts that structure into a series of keyframe arrays, each of which are stored alongside their respective parts in "partFrames". Additionally, generates the path lines for each subassembly and inserts those lines into "scene".

Returns:

Void:

rdr_showHideTreequence

() Void

Toggles the display of the HTML div element containing the treequence representation of the assembly.

Returns:

Void:

rdr_tryMouseLock

() Void

Attempts to lock the mouse for camera manupulation

Returns:

Void:

readMultipleFiles

(
  • evt
)
Void

Accepts a fileinput event, presumably from a file upload event listener, and assigns functions to each file reader listed in the event to be called upon the full loading of that given reader's files

Parameters:

  • evt Event

    A fileinput event, to be given by a fileinput event listener

Returns:

Void:

readMultipleFiles

(
  • evt
)
Void

Accepts a fileinput event, presumably from a file upload event listener, and assigns functions to each file reader listed in the event to be called upon the full loading of that given reader's files

Parameters:

  • evt Event

    A fileinput event, to be given by a fileinput event listener

Returns:

Void:

render

() Void

The main portion of the visualization's rendering cycle, managing frame rate, input, camera decelleration, keyframe manipulation, model animation, object highlighting, and informational display.

Returns:

Void:

show

(
  • theNode
)
Void

Given an HTML element, sets the style attributes of that element to display it's contents.

Parameters:

  • theNode HTML Element

    The HTML element to be shown.

Returns:

Void:

showChildren

(
  • theNode
)
Void

Given an HTML element, sets the style attributes of that element's children to display their contents.

Parameters:

  • theNode HTML Element

    The HTML element whose children are to be shown.

Returns:

Void:

showFrame

(
  • theFrame
)
Void

Logs the contents of a given keyFrame object, containing numeric properties "X", "Y", "Z", and "Time", to the console as a string.

Parameters:

  • theFrame Array

    the keyFrame object to be logged

Returns:

Void:

showFrames

(
  • partFrames
)
Void

Logs the contents of the given jagged array of keyFrame objects, each containing numeric properties "X", "Y", "Z", and "Time", to the console as a string.

Parameters:

  • partFrames Array

    A jagged array of keyframe objects

Returns:

Void:

similarityCutoff

(
  • theList
)
Index

Given an array of strings, returns the first index at which at least two of the included strings are different

Parameters:

  • theList Array

    The list of strings to be anylized

Returns:

Index:

The computed index

swapHiding

(
  • theNode
)
Void

Given an html node containing a button, hides all child treequence elements if the button text is not "+" and shows them if it is.

Parameters:

  • theNode HTML Element

    The html element whose treequence elements are to be manipulated.

Returns:

Void:

trim

(
  • str
)
String

Processes a given string to make it parsible for parseStl and returns the results

Parameters:

  • str String

    ASCII STL data

Returns:

String:

processed string

updateAxisLines

() Void

Updates the axis line dispay

Returns:

Void:

updateLines

(
  • movTree
  • parentNode
  • theTime
)
Void

Given an tree representation of the movement of parts in an assembly sequence, the parent node of that node, and the current time in the animation, updates the ends of the movement lines such that the portion of lines which have already been traversed are not shown

Parameters:

  • movTree Object

    Tree of nested objects representing the movement of each subassembly in it's assembly sequence

  • parentNode Object

    Used for internal use. Null should be applied for external use.

  • theTime Object

    the threeeJS scene to which the line representations will be added

Returns:

Void:

vecDesc

(
  • theVec
)
String

Returns a string describing the x, y, and z coordinates of theVec.

Parameters:

  • theVec Vector3

    The ThreeJS Vector3 object to be described by the output string

Returns:

String:

whatsIn

(
  • theTree
)
Array

Given a jQuery object, returns a full list of all of its children.

Parameters:

  • theTree JQuery Object

    The jQuery object whose children should be returned

Returns:

Array:

Array of the object's children