Index: cpp/frams/model/modelparts.h
===================================================================
--- cpp/frams/model/modelparts.h	(revision 997)
+++ cpp/frams/model/modelparts.h	(revision 999)
@@ -34,7 +34,8 @@
 {
 public:
-	enum ShapeType { SHAPE_BALL_AND_STICK = 0, SHAPE_SOLIDS = 1, SHAPE_UNKNOWN, SHAPE_ILLEGAL, ///< 0 and 1 have special significance - these values allow for bit operations.
-			 SHAPE_FIRST = SHAPE_BALL_AND_STICK, SHAPE_LAST = SHAPE_SOLIDS // for iteration
-	}; 
+	enum ShapeType {
+		SHAPETYPE_BALL_AND_STICK = 0, SHAPETYPE_SOLIDS = 1, SHAPETYPE_UNKNOWN, SHAPETYPE_ILLEGAL, ///< 0 and 1 have special significance - these values allow for bit operations.
+		SHAPETYPE_FIRST = SHAPETYPE_BALL_AND_STICK, SHAPETYPE_LAST = SHAPETYPE_SOLIDS // for iteration
+	};
 };
 
@@ -73,7 +74,7 @@
 };
 
-/// Part is the only real physical object in the Framsticks creature.
+/// Part is the only real physical object in creatures in Framsticks.
 /// You can use this class for querying and adjusting constructed
-/// model properties
+/// model properties.
 class Part : public PartBase
 {
@@ -96,6 +97,8 @@
 	///
 	paInt shape;///default=old Framsticks compatible, do not mix with shapes>0
-	enum Shape { SHAPE_BALL_AND_STICK = 0, SHAPE_ELLIPSOID = 1, SHAPE_CUBOID = 2, SHAPE_CYLINDER = 3,
-		     SHAPE_FIRST = SHAPE_BALL_AND_STICK, SHAPE_LAST = SHAPE_CYLINDER // for iteration
+	enum Shape {
+		SHAPE_BALL = 0, ///<  for "ball and stick" shape type model only.
+		SHAPE_ELLIPSOID = 1, SHAPE_CUBOID = 2, SHAPE_CYLINDER = 3,
+		SHAPE_FIRST = SHAPE_BALL, SHAPE_LAST = SHAPE_CYLINDER // for iteration
 	};
 	static const char* getShapeName(Shape sh);
@@ -110,5 +113,5 @@
 	double vsize;
 
-	Part(enum Shape s = SHAPE_BALL_AND_STICK);
+	Part(enum Shape s = SHAPE_BALL);
 	Part(const Part &src) :PartBase(getDefaultStyle()) { operator=(src); }
 	void operator=(const Part &src);
@@ -151,9 +154,9 @@
 	class Pt3D rot;	///< orientation delta between parts expressed as 3 angles
 	enum Shape {
-		SHAPE_BALL_AND_STICK = 0, ///<  old Framsticks compatible, creates a physical rod between parts (cylinder or cuboid), do not mix with part.shape>0
+		SHAPE_STICK = 0, ///<  for "ball and stick" shape type model, creates a physical (cylinder or cuboid) rod between parts. Do not mix with part.shape>0.
 		SHAPE_FIXED = 1, ///< merge parts into one physical entity
 		SHAPE_HINGE_X = 2, ///< hinge connection, revolving around X axis defined by hinge_pos and hinge_rot
 		SHAPE_HINGE_XY = 3, ///< double hinge connection, revolving around X and Y axes defined by hinge_pos and hinge_rot
-		SHAPE_FIRST = SHAPE_BALL_AND_STICK, SHAPE_LAST = SHAPE_HINGE_XY // for iteration
+		SHAPE_FIRST = SHAPE_STICK, SHAPE_LAST = SHAPE_HINGE_XY // for iteration
 	};
 	paInt shape;///< values of type Shape (paInt for integration with Param)
@@ -230,9 +233,9 @@
 	paInt preflocation;
 
-	enum PrefLocation { PREFER_UNATTACHED=0, PREFER_PART=1, PREFER_JOINT=2 };
-	
-	static constexpr int SUPPORTED_SHAPE_BALL_AND_STICK = 1;
-	static constexpr int SUPPORTED_SHAPE_SOLIDS = 2;
-	static constexpr int SUPPORTED_SHAPE_ALL = SUPPORTED_SHAPE_BALL_AND_STICK | SUPPORTED_SHAPE_SOLIDS;
+	enum PrefLocation { PREFER_UNATTACHED = 0, PREFER_PART = 1, PREFER_JOINT = 2 };
+
+	static constexpr int SUPPORTED_SHAPETYPE_BALL_AND_STICK = 1;
+	static constexpr int SUPPORTED_SHAPETYPE_SOLIDS = 2;
+	static constexpr int SUPPORTED_SHAPETYPE_ALL = SUPPORTED_SHAPETYPE_BALL_AND_STICK | SUPPORTED_SHAPETYPE_SOLIDS;
 	paInt supported_shape_types; //< bitfield of 'Model::shape' values: NeuroClass::SUPPORTED_SHAPE_xxx = 1 << Model::SHAPE_xxx
 
@@ -241,5 +244,5 @@
 	static constexpr int SUPPORTED_JOINT_HINGE_X = 4;
 	static constexpr int SUPPORTED_JOINT_HINGE_XY = 8;
-	static constexpr int SUPPORTED_JOINT_ALL = SUPPORTED_JOINT_BALL_AND_STICK + SUPPORTED_JOINT_FIXED + SUPPORTED_JOINT_HINGE_X + SUPPORTED_JOINT_HINGE_XY;
+	static constexpr int SUPPORTED_JOINTSHAPE_ALL = SUPPORTED_JOINT_BALL_AND_STICK + SUPPORTED_JOINT_FIXED + SUPPORTED_JOINT_HINGE_X + SUPPORTED_JOINT_HINGE_XY;
 	paInt supported_joint_shapes; //< bitfield of 'Joint::shape' values: NeuroClass::SUPPORTED_JOINT_xxx = 1 << JOINT::SHAPE_xxx
 
@@ -257,5 +260,5 @@
 	NeuroClass();
 	NeuroClass(ParamEntry *_props, SString _description,
-		   int _prefinputs, int _prefoutput, int _preflocation, int *_vectordata, bool own_vd = 1, int vhints = 0, int sup_shapes = NeuroClass::SUPPORTED_SHAPE_ALL, int sup_joints = NeuroClass::SUPPORTED_JOINT_ALL);
+		int _prefinputs, int _prefoutput, int _preflocation, int *_vectordata, bool own_vd = 1, int vhints = 0, int sup_shapes = NeuroClass::SUPPORTED_SHAPETYPE_ALL, int sup_joints = NeuroClass::SUPPORTED_JOINTSHAPE_ALL);
 	/** class name for use in Neuro::setClassName(), Neuro::setDetails() (former 'moredata' field),
 		eg. "N","-",G" */
