id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
945	soy._datatypes.BodyPosition as list-like object	ArcRiley	JonNeal	"Easy one:

Write a datatype called !BodyPosition.  The {{{__cinit__}}} will take the Body it's to use as a required argument and store it in self.

It will appear and work much like a Python list, except no .append .remove .pop etc (since it's size is immutable).  Attempts to access or set ({{{__getitem__}}} and {{{__setitem__}}} python methods) dimensions > 3 will raise a !IndexError: position index out of range

Setting one of it's items via !BodyPosition![0] = will set the parent instance's ._position![0].  A similar interface could be available via !BodyPosition.x (x property).

Body.position.__get__ should return an instance of this class.  Body.position.__set__ should accept a tuple, list, or !BodyPosition.  The latter will copy another Body's .position at that moment."	task	closed	Medium	beta3	soy._datatypes	Trunk	fixed	API	
