Added arbitrary polygon cross-section type
Better code for arbitrary-shaped cross-sections