20 lines
474 B
Nim
20 lines
474 B
Nim
|
import linalg
|
||
|
|
||
|
# define types
|
||
|
type
|
||
|
Particle* = object
|
||
|
name*: string
|
||
|
pos*: Vector
|
||
|
vel*: Vector
|
||
|
acc*: Vector
|
||
|
mass*: float
|
||
|
|
||
|
func `$`*(part: Particle): string =
|
||
|
# Conversion to xyz
|
||
|
part.name & " " & $part.pos
|
||
|
|
||
|
func newParticle*(name: string, pos: Vector, mass: float): Particle =
|
||
|
Particle(name: name, pos: pos, vel: vector0(), acc: vector0(), mass: mass)
|
||
|
|
||
|
func massFromName*(name: string): float =
|
||
|
1.0 # TODO implement
|