Valid XHTML 1.0!

Bowl Generator


Generates the rim of a quarter bowl as a .map file to be opened in GtkRadiant.

circumferenceRadius: The radius of the circumference of the bowl (circumference is the rim of the bowl). This value should be greater than or equal to slopeRadius.
slopeRadius: The radius of the upward slope of the bowl. Setting slopeRadius to be equal to circumferenceRadius will produce a perfectly spherical bowl surface. slopeRadius should not be greater than circumferenceRadius.
slicesCircumference: How many slices to chop the quarter circumference of the bowl into. The total number of triangular surfaces making up this bowl will be 2 * slicesCircumference * slicesSlope.
slicesSlope: How many slices to chop the vertical slope of the bowl into. The total number of triangular surfaces making up this bowl will be 2 * slicesCircumference * slicesSlope.
crossSection: The width and height of the square cross section of the rim of the bowl. This value should be greater than slopeRadius.
offsetTopInsteadOfBottom: Alters the pattern of the mesh by flipping the even-odd rule in which vertices get rotated by half a slice along the circumference. This is useful when joining other offset objects to the circumference of the bowl, such as offset cylinders or funnels.
extrudeTopNSlices: If this is greater than zero and if extrudeRadiusFactor is greater than one, the topmost extrudeTopNSlices vertices of the bowl will be pushed back so that the top of the bowl is no longer vertical. It "relaxes" the top of the bowl to have a less steep slope.
extrudeRadiusFactor: Used together with extrudeTopNSlices. This value should be greater than one and extrudeTopNSlices should be greater than zero to make the top of the bowl less steep. It is possible to use values slightly less than one here to generate an "oversteep" top, but if used improperly, poor results will be generated, or [possibly] nothing will be generated at all. A value of 1.0 corresponds to a normal bowl with perfectly vertical top. Otherwise, the top vertices are generated based on a radius of slopeRadius * extrudeRadiusFactor. You can use this tool for calculating extrudeRadiusFactor.
adjustForOverlappingPipeCuts: In the case where pipe brushes are joined at the seam of this bowl, set this flag whenever the pipe brushes are generated with adjustForOverlappingPipeCuts also.
adjustForOverlappingBowlCuts: When cutting overlapping bowl brushes at the top (z = 0), set this flag so that the resulting cut brushes lie on integer coordinates.
invertSlopeVertices: The original vertices that make up the slope of the bowl are flipped after all of the adjust and/or extrude flags are applied; the vertex at the rim of the bowl becomes the vertex at the bottom and vice-versa. So, for example, if we are extruding vertices and using this flag together, the bottom of the bowl will no longer be horizontal.
generateOnlySeam: Generates only the seam brushes.
adjustSeamForJoining: Perturb the vertices of the seam brushes so that other structures such as pipes can be joined perfectly to this quarter bowl.

generate normal non-overlapping brushes Generates ordinary brushes. To make a bowl wall to fling you around at high speeds, you will have to generate overlapping brushes in order to prevent "bouncing". Another purpose for normal brushes is to define the visual component of a structure, for example by using surfaceparm nonsolid.
generate overlapping brushes Overlapping brushes are useful for making bowls such that the player doesn't "bounce" off the surface when flying along the bowl. However, it is not advised to texture the overlapping brush faces with drawn textures. Instead, apply [slick] caulk to all of the overlapping brushes, then superimpose a set of normal non-overlapping brushes that have surfaceparm nonsolid. NOTE: When you are done generating overlapping brushes, you will likely want to cut everything off that is above z = 0. Use adjustForOverlappingBowlCuts to ensure that the resulting cuts are clean and along integer coordinates.