# PRIM TYPE TORUS

Jump to: navigation, search

 LSL Portal

## Contents

Constant: integer PRIM_TYPE_TORUS = 4;

The integer constant PRIM_TYPE_TORUS has the value 4

PRIM_TYPE_TORUS is a parameter of PRIM_TYPE used to make prim into a torus and to change specific properties that define the shape of that torus.

[ PRIM_TYPE, PRIM_TYPE_TORUS, integer hole_shape, vector cut, float hollow, vector twist, vector hole_size, vector top_shear, vector advanced_cut, vector taper, float revolutions, float radius_offset, float skew ]
 • integer hole_shape – PRIM_HOLE_* flag • vector cut – x and y range from 0.0 to 1.0, x must be at least 0.05 smaller than y (z is ignored) • float hollow – ranges from 0.0 (solid) to 0.95 (maximum hollowed) • vector twist – ranges from -1.0 (-360 degree in the edit window) to 1.0 (+360 degree in the edit window) for both x and y (z is ignored) • vector hole_size – x ranges from 0.05 to 1.0; y ranges from 0.05 (large hole) to 0.50 (no hole) • vector top_shear – ranges from -0.5 to 0.5 for both x and y (z is ignored) • vector advanced_cut – x and y range from 0.0 to 1.0, x must be at least 0.05 smaller than y (z is ignored) • vector taper – ranges from -1.0 to 1.0 for both x and y (z is ignored) • float revolutions – ranges from 1.0 to 4.00 • float radius_offset – depends on holesize.y and revolutions • float skew – ranges from -1.0 to 1.0
hole_shape Flags Shape hole_shape Flags Shape
PRIM_HOLE_DEFAULT 0x00 Default PRIM_HOLE_SQUARE 0x20 Square
PRIM_HOLE_CIRCLE 0x10 Circle PRIM_HOLE_TRIANGLE 0x30 Triangle
[ 1, PRIM_TYPE_TORUS, vector cut, float hollow, float twist_end, float hole_size_y, vector top_shear, vector advanced_cut ]
 • vector cut – x and y range from 0.0 to 1.0, x must be at least 0.05 smaller than y (z is ignored) • float hollow – ranges from 0.0 (solid) to 0.95 (maximum hollowed) • float twist_end – ranges from -0.5 (-180 degree in the edit window) to 0.5 (+180 degree in the edit window) • float hole_size_y – ranges from 0.05 (large hole) to 0.50 (no hole) • vector top_shear – ranges from -0.5 to 0.5 for both x and y (z is ignored) • vector advanced_cut – x and y range from 0.0 to 1.0, x must be at least 0.05 smaller than y (z is ignored)

This is the old PRIM_TYPE format for the torus (PRIM_TYPE used to be 1 instead of 9). Use the new format unless you are maintaining old code.

## Related Articles

### Constants

 • PRIM_TYPE • CHANGED_SHAPE

### Functions

 • llSetPrimitiveParams • llSetLinkPrimitiveParams • llGetPrimitiveParams

### Events

 • changed

## Examples

```// this makes a nice expanding spiral
vector cut= <0.00000, 1.00000, 0.00000>;
float hollow = 0.0;                    // 0.0 to 0.95
vector twist = <0, 0.0, 0.0>;          // -1.0 to 1.0
vector holesize = <1.0, 0.05, 0.0>;    // max X:1.0 Y:0.5
vector topshear = <0.0, 0.0, 0.0>;     // -0.5 to 0.5
vector profilecut = <0.0, 0.0, 0.0>;   // 0.0 to 1.0
vector taper_a = <0.0, 0.0, 0.0>;      // 0.0 to 1.0
float revolutions = 3.0;               // 1.0 to 4.0
float radiusoffset = 1.0;              // -1.0 to 1.0
float skew = 0.0;                      //
llSetPrimitiveParams( [PRIM_TYPE, PRIM_TYPE_TORUS, PRIM_HOLE_DEFAULT,
cut, hollow, twist, holesize, topshear,
profilecut, taper_a, revolutions,
radiusoffset, skew] );```

## Deep Notes

#### Signature

```integer PRIM_TYPE_TORUS = 4;
```