var searchIndex = {}; searchIndex["zoom"] = {"doc":"","items":[[0,"vector","zoom","The vector module contains primitive objects and traits for performing vector geometry.",null,null],[0,"cartesian1","zoom::vector","",null,null],[3,"Cartesian1","zoom::vector::cartesian1","",null,null],[12,"x","","",0,null],[11,"clone","","",0,null],[11,"new","","",0,{"inputs":[{"name":"d"}],"output":{"name":"self"}}],[11,"zero","","",0,{"inputs":[],"output":{"name":"self"}}],[11,"is_zero","","",0,null],[11,"add","","",0,null],[11,"sub","","",0,null],[11,"mul","","",0,null],[11,"div","","",0,null],[11,"neg","","",0,null],[11,"space_ball","","",0,{"inputs":[{"name":"d"}],"output":{"name":"d"}}],[11,"dot","","",0,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"d"}}],[11,"space_box","","",0,null],[11,"displacement","","",0,null],[0,"cartesian2","zoom::vector","",null,null],[3,"Cartesian2","zoom::vector::cartesian2","",null,null],[12,"x","","",1,null],[12,"y","","",1,null],[11,"clone","","",1,null],[11,"new","","",1,{"inputs":[{"name":"d"},{"name":"d"}],"output":{"name":"self"}}],[11,"zero","","",1,{"inputs":[],"output":{"name":"self"}}],[11,"is_zero","","",1,null],[11,"add","","",1,null],[11,"sub","","",1,null],[11,"mul","","",1,null],[11,"div","","",1,null],[11,"neg","","",1,null],[11,"space_ball","","",1,{"inputs":[{"name":"d"}],"output":{"name":"d"}}],[11,"dot","","",1,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"d"}}],[11,"space_box","","",1,null],[11,"displacement","","",1,null],[11,"displacement_squared","","",1,null],[0,"cartesian3","zoom::vector","",null,null],[3,"Cartesian3","zoom::vector::cartesian3","",null,null],[12,"x","","",2,null],[12,"y","","",2,null],[12,"z","","",2,null],[11,"clone","","",2,null],[11,"new","","",2,{"inputs":[{"name":"d"},{"name":"d"},{"name":"d"}],"output":{"name":"self"}}],[11,"zero","","",2,{"inputs":[],"output":{"name":"self"}}],[11,"is_zero","","",2,null],[11,"add","","",2,null],[11,"sub","","",2,null],[11,"mul","","",2,null],[11,"div","","",2,null],[11,"neg","","",2,null],[11,"space_ball","","",2,{"inputs":[{"name":"d"}],"output":{"name":"d"}}],[11,"dot","","",2,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"d"}}],[11,"space_box","","",2,null],[11,"displacement","","",2,null],[11,"displacement_squared","","",2,null],[11,"cross","","",2,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"self"}}],[0,"space","zoom::vector","",null,null],[3,"Box","zoom::vector::space","",null,null],[12,"origin","","",3,null],[12,"offset","","",3,null],[8,"Ball","","",null,null],[10,"radius","","",4,null],[11,"space","","",4,null],[11,"new","","",3,{"inputs":[{"name":"v"},{"name":"v"}],"output":{"name":"self"}}],[11,"space","","",3,null],[11,"clone","","",3,null],[8,"Vector","zoom::vector","Trait that implements all the functions necessary for any n-dimensional particle.",null,null],[10,"space_ball","","Returns the space contained by an n-sphere with edge displacement d in the dimensional system of this vector",5,{"inputs":[{"name":"d"}],"output":{"name":"d"}}],[10,"dot","","Returns the result of the cos of the angle between two vectors multiplied by their magnitudes",5,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"d"}}],[10,"space_box","","Returns the space contained by the vector relative to the origin forming a box",5,null],[10,"displacement","","Returns the length of a vector",5,null],[11,"displacement_squared","","Returns the squared length of a vector; this is more efficient than displacement() for cartesian vectors",5,null],[11,"normalized","","Returns a vector in the same direction as this one, but with length 1",5,null],[11,"normalize","","Make this vector normalized().",5,null],[8,"CrossVector","","CrossVector is a Vector that has dimensions such that the cross product can be computed.",null,null],[10,"cross","","",6,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"self"}}],[0,"particle","zoom","",null,null],[5,"gravitate","zoom::particle","Apply proper attraction between two physics particles based on their quanta and position.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"}],"output":null}],[5,"gravitate_radius","","If gravitating at a distance greater than the net radius, then gravitational interaction is applied as if the\nparticles are point particles. If the distance is less than the radius, then the interaction happens as if the\ngravitational quanta (mass) is evenly distributed and gravitational flux is used instead, which causes the\ninteraction to become proportional to the radius, meaning that as the radius approaches zero, so does the force.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"}],"output":null}],[5,"gravitate_radius_squared","","This is the same as the radius function, but the sum of the radii squared is passed separately to avoid overhead.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"},{"name":"d"}],"output":null}],[5,"hooke","","Apply spring forces between two particles.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"}],"output":null}],[5,"hooke_equilibrium","","Apply spring forces between two particles with specified equilibrium distance.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"},{"name":"d"}],"output":null}],[5,"lorentz","","Apply lorentz forces between two PhysicsParticle objects based on quanta, position, and velocity.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"}],"output":null}],[5,"lorentz_radius","","Apply lorentz forces between two PhysicsParticle + Ball objects assuming uniformly distributed quanta.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"}],"output":null}],[5,"lorentz_radius_squared","","Apply lorentz forces between two PhysicsParticle objects using a precomputed net radius.",null,{"inputs":[{"name":"t1"},{"name":"t2"},{"name":"d"},{"name":"d"}],"output":null}],[0,"basic_particle","","",null,null],[3,"BasicParticle","zoom::particle::basic_particle","BasicParticle is the simplest object that implements PhysicsParticle without using constant values.",null,null],[12,"quanta","","",7,null],[12,"inertia","","",7,null],[12,"position","","",7,null],[12,"velocity","","",7,null],[11,"new","","",7,{"inputs":[{"name":"d"},{"name":"v"},{"name":"v"},{"name":"d"}],"output":{"name":"self"}}],[11,"default","","",7,{"inputs":[],"output":{"name":"self"}}],[11,"quanta","","",7,null],[11,"inertia","","",7,null],[11,"position","","",7,null],[11,"velocity","","",7,null],[11,"impulse","","",7,null],[11,"advance","","",7,null],[8,"Quanta","zoom::particle","An object that has quanta",null,null],[10,"quanta","","",8,null],[8,"Inertia","","An object that has inertia",null,null],[10,"inertia","","",9,null],[8,"Position","","An object that has location",null,null],[10,"position","","",10,null],[8,"Velocity","","An object that has velocity",null,null],[10,"velocity","","",11,null],[8,"Particle","","An object that has a simple particle motion interface",null,null],[10,"impulse","","Apply force to particle, but it isn't moved forward in time until advance is called.\nThis requires interior mutability and unsafe declarations to fulfil.",12,null],[10,"advance","","Advance particle forward in time (update position and velocity from net force).",12,null],[8,"PhysicsParticle","","Any particle that implements the necessary traits gains access to all of the capabilities of PhysicsParticle.",null,null],[11,"basic_form","","Convert a PhysicsParticle into a "basic particle" that implements PhysicsParticle but has the minimum members.\nUse this to implement data structures that need to create intermediary particles.",13,null],[11,"drag","","Apply drag forces to a particle.",13,null],[11,"gravitate_to","","Apply proper attraction to a single physics particle towards a location and with a magnitude.",13,null],[11,"gravitate_radius_to","","This works the same as gravitate_radius_squared and gravitate_to.",13,null],[11,"hooke_to","","Apply spring forces between one particle and a virtual particle that is unaffected.",13,null],[11,"hooke_equilibrium_to","","Apply spring forces between one particle and a virtual particle that is unaffected.",13,null],[11,"lorentz_field","","Apply lorentz force to a particle in a field given by a vector with the magnitude and direction of the field.",13,null],[11,"lorentz_to","","Apply the lorentz force on a virtual particle that is unaffected.",13,null],[11,"lorentz_radius_to","","Apply the lorentz force on a virtual particle that is unaffected.",13,null]],"paths":[[3,"Cartesian1"],[3,"Cartesian2"],[3,"Cartesian3"],[3,"Box"],[8,"Ball"],[8,"Vector"],[8,"CrossVector"],[3,"BasicParticle"],[8,"Quanta"],[8,"Inertia"],[8,"Position"],[8,"Velocity"],[8,"Particle"],[8,"PhysicsParticle"]]}; initSearch(searchIndex);