```cs public class CapsulePrimitive : Primitive { // Length of the cylindrical body between the hemispherical caps public float length; // Radius of the capsule public float radius; // This transform must only contain rotation and translation components, not scale public Matrix4F transform; } ``` This is the same as [[raytraced-audio/v110/Classes/Primitives/CylinderPrimitive|CylinderPrimitive]] but with rounded caps on either end that extend **outside** the ends of the cylinder, i.e. the real length of this primitive is `length + radius * 2`. > WARNING: the `transform` matrix should only contain rotation and translation operations, not scale. The size of the capsule should be controlled via the `radius` and `length` properties