/** * * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. */ //============================================================================= // CylinderBuilder: Builds a 3D cylinder brush. //============================================================================= class CylinderBuilder extends BrushBuilder; var() float Z ; var() float OuterRadius ; var() float InnerRadius; var() int Sides ; var() name GroupName; var() bool AlignToSide, Hollow; function BuildCylinder( int Direction, bool InAlignToSide, int InSides, float InZ, float Radius ) { local int n,i,j,Ofs; n = GetVertexCount(); if( InAlignToSide ) { Radius /= cos(pi/InSides); Ofs = 1; } // Vertices. for( i=0; i=OuterRadius) ) return BadParameters(); BeginBrush( false, GroupName ); BuildCylinder( +1, AlignToSide, Sides, Z, OuterRadius ); if( Hollow ) { BuildCylinder( -1, AlignToSide, Sides, Z, InnerRadius ); for( j=-1; j<2; j+=2 ) for( i=0; i