Difference between revisions of "User:Strife Onizuka/PrimitiveParamsTable"

From Second Life Wiki
Jump to navigation Jump to search
m
m
Line 2: Line 2:


<!-- TRM push -->
<!-- TRM push -->
{{#vardefine:TRMS|{{#var:TRM}}{{#var:TRMS}}}}  {{#vardefine:TRM|P}}
{{#vardefine:TRMS|{{#var:TRM}}{{#var:TRMS}}}}  {{#vardefine:TRM|P}} {{#vardefine:PPC-1| {{{1|}}} }}


{{:PRIM_NAME|{{{1|}}}}}
<!--{{:PRIM_NAME|{{{1|}}}}}-->
{{:PRIM_DESC|{{{1|}}}}}
{{:PRIM_DESC|{{{1|}}}}}
{{:PRIM_COLOR|{{{1|}}}}}
{{:PRIM_COLOR|{{{1|}}}}}
Line 58: Line 58:
! class="sortable" width="30%" {{!}} Scope
! class="sortable" width="30%" {{!}} Scope
{{!}}-
{{!}}-
{{User:Strife_Onizuka/PRIM_NAME}}
{{PPC|{{{1|}}}|PRIM_NAME|const={{#var:name_const}}|value=27|scope=prim|attr=name|[[string]]&nbsp;{{LSL Param|name}}&nbsp;]}}
{{PPC|{{{1|}}}|PRIM_NAME|const={{#var:name_const}}|value=27|scope=prim|attr=name|[[string]]&nbsp;{{LSL Param|name}}&nbsp;]}}
{{PPC|{{{1|}}}|PRIM_DESC|const={{#var:desc_const}}|value=28|scope=prim|attr=description|[[string]]&nbsp;{{LSL Param|description}}&nbsp;]}}
{{PPC|{{{1|}}}|PRIM_DESC|const={{#var:desc_const}}|value=28|scope=prim|attr=description|[[string]]&nbsp;{{LSL Param|description}}&nbsp;]}}

Revision as of 12:34, 18 November 2010

V Flag Parameters Returned Scope
LSL Portal Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials

Description

Constant: integer PRIM_NAME = 27;

The integer constant PRIM_NAME has the value 27

Used to get or set the prim's name.

llGetPrimitiveParams

llGetPrimitiveParams([ PRIM_NAME ])

Returns the list [ string name ]

• string name

The same syntax applies to llGetLinkPrimitiveParams, but with an additional prefixed link parameter in the function call.

llSetPrimitiveParams

llSetPrimitiveParams([ PRIM_NAME, string name ])
• string name

The same syntax applies to llSetLinkPrimitiveParams and llSetLinkPrimitiveParamsFast but with an additional prefixed link parameter in the function call.

Caveats

  • The prim description is limited to 127 bytes; any string longer then that will be truncated. This truncation does not always happen when the attribute is set or read.
  • The pipe character '|' and the newline character '\n' are not legal in a prim's description. They will be replaced with '?'.[1]
  • Note that when people have "Hover Tips on All Objects" selected in the viewer's "View" menu, they'll see the object description pop-up for any object under their mouse pointer. For that reason, it is good practice to only set human-friendly information in the description, e.g. keys and such.
  • When an attached object is detached, changes made by script to the name and description (of the root prim) of the attachment will be lost. While the object is attached the name and description can be changed but it will not be reflected in inventory. This caveat does not apply to child prims.
  • If texture is missing from the prim's inventory and it is not a UUID or it is not a texture then an error is shouted on DEBUG_CHANNEL.
  • If texture is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • repeats is not only used to set the number of repeats but the sign of the individual components is also used to set the "Flip" attribute.
  • In the default texture mapping mode the texture repeats units are in texture repeats per face. In the planar texture mapping mode the texture repeats units are in texture repeats per half meter. This is in contrast to the in-world editing tool, in which the planar texture scaling units are repeats per meter.
  • Do not rely on Floating Text as a storage medium; it is neither secure nor finalized.
    • Floating text has been altered in past server updates, breaking existing content; future changes may occur.
    • Even "invisible"[2] floating text is transmitted to the client.
      • It can be viewed by anyone with a client that is capable of rendering text that is supposed to be invisible.
      • The network packets that contain the text can be sniffed and the text read.
  • top_size and client values are different, the ranges do not line up, conversion is required. This simple equation can be used: answer = 1.0 - value. See top_size Explained for more information.
  • If face is ALL_SIDES then the flag works on all sides.
  • If face indicates a face that does not exist the flag return is ...
flag Return if face is invalid
[ PRIM_COLOR ] ZERO_VECTOR, 0.0 ]
[ PRIM_GLOW ] 0.0 ]
[ PRIM_TEXTURE ] an empty list.
[ PRIM_FULLBRIGHT ] FALSE ]
[ PRIM_TEXGEN ] PRIM_TEXGEN_DEFAULT ]
PRIM_BUMP_SHINY ] PRIM_SHINY_NONE, PRIM_BUMP_NONE ]

Related Articles

Functions

•  llSetPrimitiveParams
•  llSetLinkPrimitiveParams
•  llSetLinkPrimitiveParamsFast
•  llGetPrimitiveParams
•  llGetLinkPrimitiveParams
•  llGetObjectName
•  llSetObjectName
•  llGetObjectDetails

Articles

•  Limits SL limits and constrictions
•  Limits SL limits and constrictions
•  Color in LSL
•  Translucent Color
•  Color in LSL
•  Translucent Color

Deep Notes

PRIM_TYPE top_size and client taper conversion
Range[3] Top
Tapered
No
Tapering
Bottom
Tapered
Client [-1, 1] 1.0 0.0 -1.0
PRIM_TYPE [0, 2] 0.0 1.0 2.0
LEGACY [0, 1] 0.0 1.0 NA
Client < 1.11 [0, 1] 0.0 1.0 NA

top_size Explained

When the original PRIM_TYPE interface was retired (PRIM_TYPE_LEGACY, SL 1.5), the new PRIM_TYPE interface did not yet support tapering of the bottom of the prim, this feature wasn't added until SL 1.11 (two years later). Instead of retiring the new PRIM_TYPE when it was added, the range of top_size was enlarged; meanwhile in the client they redefined the parameter and it's values. This redefinition and range enlargement resulted in two interfaces that did the same thing but achieved it through different values. Meanwhile PRIM_TYPE_LEGACY's interface was not updated to support tapering of the bottom of the prim. Consequently all three interfaces have different ranges, making for a rather nasty caveat.

Footnotes

  1. ^ The pipe character historically has been used to separate fields in the serialized version of inventory. The field is not multi-line so the newline character holds no meaning in this context.
  2. ^ Floating text with an alpha set to 0.0 is rendered "invisible"
  3. ^ The ranges in this article are written in Interval Notation.

27 PRIM_NAME [ ,

string name ] ] name - prim

3 name 28 PRIM_DESC [ PRIM_DESC,

string description ] ] description - prim

3 description 9 PRIM_TYPE [ PRIM_TYPE,

integer flag ] + flag_parameters ] shape - prim
Jive-icon-11x2.png

flag Constants Additional Return Values / Flag Parameters
PRIM_TYPE_BOX 0 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_CYLINDER 1 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_PRISM 2 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_SPHERE 3 [ integer hole_shape, vector cut, float hollow, vector twist, vector dimple]
PRIM_TYPE_TORUS 4 [ 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 ]
PRIM_TYPE_TUBE 5 [ 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 ]
PRIM_TYPE_RING 6 [ 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 ]
PRIM_TYPE_SCULPT 7 [ string mapinteger type ]
type Flags Style Description
PRIM_SCULPT_TYPE_SPHERE 1 Sphere Converge top & bottom, stitch left side to right
PRIM_SCULPT_TYPE_TORUS 2 Torus Stitch top to bottom, stitch left side to right
PRIM_SCULPT_TYPE_PLANE 3 Plane No stitching or converging
PRIM_SCULPT_TYPE_CYLINDER 4 Cylinder Stitch left side to right.
PRIM_SCULPT_TYPE_MESH 5 Mesh model See: Mesh
PRIM_SCULPT_FLAG_ZZZZZZZZ 63
PRIM_SCULPT_FLAG_ANIMESH 0x20 Animesh Read-only flag to query Animated mesh status.
PRIM_SCULPT_FLAG_INVERT 0x40 Invert Render inside out (inverts the normals).
PRIM_SCULPT_FLAG_MIRROR 0x80 Mirror Render an X axis mirror of the sculpty.
hole_shape Flags Shape
PRIM_HOLE_DEFAULT 0x00 Default
PRIM_HOLE_SQUARE 0x20 Square
PRIM_HOLE_CIRCLE 0x10 Circle
PRIM_HOLE_TRIANGLE 0x30 Triangle

3 shape 2 PRIM_MATERIAL [ PRIM_MATERIAL,

integer flag ] ] material - prim
Jive-icon-11x2.png

material Flags Description Friction Restitution
PRIM_MATERIAL_STONE 0 stone 0.8 0.4
PRIM_MATERIAL_METAL 1 metal 0.3 0.4
PRIM_MATERIAL_GLASS 2 glass 0.2 0.7
PRIM_MATERIAL_WOOD 3 wood 0.6 0.5
PRIM_MATERIAL_FLESH 4 flesh 0.9 0.3
PRIM_MATERIAL_PLASTIC 5 plastic 0.4 0.7
PRIM_MATERIAL_RUBBER 6 rubber 0.9 0.9
PRIM_MATERIAL_LIGHT 7 light, DEPRECATED: Looks the same as [ PRIM_FULLBRIGHT, ALL_SIDES, TRUE ] 0.6 0.5

3 material 3 PRIM_PHYSICS [ PRIM_PHYSICS,

integer boolean ] ] physics status - object

4 status physics 4 PRIM_TEMP_ON_REZ [ PRIM_TEMP_ON_REZ,

integer boolean ] ] temporary - object

4 temporary 5 PRIM_PHANTOM [ PRIM_PHANTOM,

integer boolean ] ] phantom status - object

4 status phantom 6 PRIM_POSITION [ PRIM_POSITION,

vector position ] ] position - prim

3 position 8 PRIM_ROTATION [ PRIM_ROTATION,

rotation rot ] ] global rotation - prim

3 rotation global 29 PRIM_ROT_LOCAL [ PRIM_ROT_LOCAL,

rotation rot ] ] local rotation - prim

3 rotation local 7 PRIM_SIZE [ PRIM_SIZE,

vector size ] ] size - prim

3 size 17 PRIM_TEXTURE [ PRIM_TEXTURE,

integer face, string texture, vector repeats, vector offsets, float rotation_in_radians ] ] texture - face

2 texture 26 PRIM_TEXT [ PRIM_TEXT,

string text, vector color, float alpha ] ] floating text - prim

3 floating text 18 PRIM_COLOR [ PRIM_COLOR,

integer face, vector color, float alpha ] ] color & alpha - face

2 color & alpha 19 PRIM_BUMP_SHINY [ PRIM_BUMP_SHINY,

integer face, integer shiny, integer bump ] ] shiny & bump - face
Jive-icon-11x2.png

bump Flags Description
PRIM_BUMP_NONE 0 none: no bump map
PRIM_BUMP_BRIGHT 1 brightness: generate from highlights
PRIM_BUMP_DARK 2 darkness: generate from lowlights
PRIM_BUMP_WOOD 3 woodgrain
PRIM_BUMP_BARK 4 bark
PRIM_BUMP_BRICKS 5 bricks
PRIM_BUMP_CHECKER 6 checker
PRIM_BUMP_CONCRETE 7 concrete
PRIM_BUMP_TILE 8 crustytile
PRIM_BUMP_STONE 9 cutstone: blocks
PRIM_BUMP_DISKS 10 discs: packed circles
PRIM_BUMP_GRAVEL 11 gravel
PRIM_BUMP_BLOBS 12 petridish: blobby amoeba like shapes
PRIM_BUMP_SIDING 13 siding
PRIM_BUMP_LARGETILE 14 stonetile
PRIM_BUMP_STUCCO 15 stucco
PRIM_BUMP_SUCTION 16 suction: rings
PRIM_BUMP_WEAVE 17 weave
shiny Flags Description
PRIM_SHINY_NONE 0 none
PRIM_SHINY_LOW 1 low
PRIM_SHINY_MEDIUM 2 medium
PRIM_SHINY_HIGH 3 high

2 shiny & bump 23 PRIM_POINT_LIGHT [ PRIM_POINT_LIGHT,

integer boolean, vector color, float intensity, float radius, float falloff ] ] point light - prim

3 point light 20 PRIM_FULLBRIGHT [ PRIM_FULLBRIGHT,

integer face, integer boolean ] ] full bright - face

2 full bright 21 PRIM_FLEXIBLE [ PRIM_FLEXIBLE,

integer boolean, integer softness, float gravity, float friction, float wind, float tension, vector force ] ] flexible - prim

3 flexible 22 PRIM_TEXGEN [ PRIM_TEXGEN,

integer face, integer type ] ] texture mode - face
Jive-icon-11x2.png

mode Constants Description
PRIM_TEXGEN_DEFAULT 0 The texture repeats units are in texture repeats per face.
PRIM_TEXGEN_PLANAR 1 The texture repeats units are in texture repeats per half meter. This is in contrast to the in-world editing tool, in which the planar texture scaling units are repeats per meter.

2 texture mode 25 PRIM_GLOW [ PRIM_GLOW,

integer face, float intensity ] ] glow - face

2 glow 24 PRIM_CAST_SHADOWS [ PRIM_CAST_SHADOWS,

integer boolean ] ] (DEPRECATED) - cast shadow - prim

3 cast shadow * 1 PRIM_TYPE_LEGACY PRIM_TYPE_LEGACY1,

integer flag ] + flag_parameters ] (DEPRECATED) - shape - prim
Jive-icon-11x2.png

flag Constants Flag Parameters
PRIM_TYPE_BOX 0 [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ]
PRIM_TYPE_CYLINDER 1 [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ]
PRIM_TYPE_PRISM 2 [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ]
PRIM_TYPE_SPHERE 3 [ vector cut, float hollow, vector dimple ]
PRIM_TYPE_TORUS 4 [ vector cut, float hollow, float twist_end, float hole_size_y, vector top_shear, vector advanced_cut ]
PRIM_TYPE_TUBE 5 [ vector cut, float hollow, float twist_end, float topshear_x ]

3 shape legacy mode

V Request Format Parameters Returned Scope
LSL Portal Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials

Description

Constant: integer PRIM_NAME = 27;

The integer constant PRIM_NAME has the value 27

Used to get or set the prim's name.

llGetPrimitiveParams

llGetPrimitiveParams([ PRIM_NAME ])

Returns the list [ string name ]

• string name

The same syntax applies to llGetLinkPrimitiveParams, but with an additional prefixed link parameter in the function call.

llSetPrimitiveParams

llSetPrimitiveParams([ PRIM_NAME, string name ])
• string name

The same syntax applies to llSetLinkPrimitiveParams and llSetLinkPrimitiveParamsFast but with an additional prefixed link parameter in the function call.

Caveats

  • The prim description is limited to 127 bytes; any string longer then that will be truncated. This truncation does not always happen when the attribute is set or read.
  • The pipe character '|' and the newline character '\n' are not legal in a prim's description. They will be replaced with '?'.[1]
  • Note that when people have "Hover Tips on All Objects" selected in the viewer's "View" menu, they'll see the object description pop-up for any object under their mouse pointer. For that reason, it is good practice to only set human-friendly information in the description, e.g. keys and such.
  • When an attached object is detached, changes made by script to the name and description (of the root prim) of the attachment will be lost. While the object is attached the name and description can be changed but it will not be reflected in inventory. This caveat does not apply to child prims.
  • If texture is missing from the prim's inventory and it is not a UUID or it is not a texture then an error is shouted on DEBUG_CHANNEL.
  • If texture is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • repeats is not only used to set the number of repeats but the sign of the individual components is also used to set the "Flip" attribute.
  • In the default texture mapping mode the texture repeats units are in texture repeats per face. In the planar texture mapping mode the texture repeats units are in texture repeats per half meter. This is in contrast to the in-world editing tool, in which the planar texture scaling units are repeats per meter.
  • Do not rely on Floating Text as a storage medium; it is neither secure nor finalized.
    • Floating text has been altered in past server updates, breaking existing content; future changes may occur.
    • Even "invisible"[2] floating text is transmitted to the client.
      • It can be viewed by anyone with a client that is capable of rendering text that is supposed to be invisible.
      • The network packets that contain the text can be sniffed and the text read.
  • top_size and client values are different, the ranges do not line up, conversion is required. This simple equation can be used: answer = 1.0 - value. See top_size Explained for more information.
  • If face is ALL_SIDES then the flag works on all sides.
  • If face indicates a face that does not exist the flag return is ...
flag Return if face is invalid
[ PRIM_COLOR ] ZERO_VECTOR, 0.0 ]
[ PRIM_GLOW ] 0.0 ]
[ PRIM_TEXTURE ] an empty list.
[ PRIM_FULLBRIGHT ] FALSE ]
[ PRIM_TEXGEN ] PRIM_TEXGEN_DEFAULT ]
PRIM_BUMP_SHINY ] PRIM_SHINY_NONE, PRIM_BUMP_NONE ]
  • The prim description is limited to 127 bytes; any string longer then that will be truncated. This truncation does not always happen when the attribute is set or read.
  • The pipe character '|' and the newline character '\n' are not legal in a prim's description. They will be replaced with '?'.[4]
  • Note that when people have "Hover Tips on All Objects" selected in the viewer's "View" menu, they'll see the object description pop-up for any object under their mouse pointer. For that reason, it is good practice to only set human-friendly information in the description, e.g. keys and such.
  • When an attached object is detached, changes made by script to the name and description (of the root prim) of the attachment will be lost. While the object is attached the name and description can be changed but it will not be reflected in inventory. This caveat does not apply to child prims.
  • repeats is not only used to get the number of repeats but the sign of the individual components indicate if "Flip" is set.
  • With texture as with llGetTexture, NULL_KEY is returned when the owner does not have full permissions to the object and the texture is not in the prim's inventory.
  • In the default texture mapping mode the texture repeats units are in texture repeats per face. In the planar texture mapping mode the texture repeats units are in texture repeats per half meter. This is in contrast to the in-world editing tool, in which the planar texture scaling units are repeats per meter.
  • Do not rely on Floating Text as a storage medium; it is neither secure nor finalized.
    • Floating text has been altered in past server updates, breaking existing content; future changes may occur.
    • Even "invisible"[5] floating text is transmitted to the client.
      • It can be viewed by anyone with a client that is capable of rendering text that is supposed to be invisible.
      • The network packets that contain the text can be sniffed and the text read.
  • position is always in region coordinates, even if the prim is a child or the root prim of an attachment.
  • rot is always the global rotation, even if the prim is a child or the root prim of an attachment.
  • PRIM_ROTATION incorrectly reports the avatars rotation when called on the root of an attached object. Use PRIM_ROT_LOCAL for the root prim instead.
  • top_size and client values are different, the ranges do not line up, conversion is required. This simple equation can be used: answer = 1.0 - value. See top_size Explained for more information.
  • The value of map is NULL_KEY when the owner does not have full permissions to the object and the map asset is not in the prim's inventory.
  • If map is missing from the prim's inventory and it is not a UUID or it is not a texture then an error is shouted on DEBUG_CHANNEL.
  • If map is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • position is always in region coordinates, even if the prim is a child or the root prim of an attachment.
  • rot is always the global rotation, even if the prim is a child or the root prim of an attachment.
  • PRIM_ROTATION incorrectly reports the avatars rotation when called on the root of an attached object. Use PRIM_ROT_LOCAL for the root prim instead.
  • If face is ALL_SIDES then the flag works on all sides.
  • If face indicates a face that does not exist the flag return is ...
flag Return if face is invalid
[ PRIM_COLOR ] ZERO_VECTOR, 0.0 ]
[ PRIM_GLOW ] 0.0 ]
[ PRIM_TEXTURE ] an empty list.
[ PRIM_FULLBRIGHT ] FALSE ]
[ PRIM_TEXGEN ] PRIM_TEXGEN_DEFAULT ]
PRIM_BUMP_SHINY ] PRIM_SHINY_NONE, PRIM_BUMP_NONE ]
[ PRIM_COLOR ] ZERO_VECTOR, 0.0 ]
[ PRIM_GLOW ] 0.0 ]
[ PRIM_TEXTURE ] an empty list.
[ PRIM_FULLBRIGHT ] FALSE ]
[ PRIM_TEXGEN ] PRIM_TEXGEN_DEFAULT ]
PRIM_BUMP_SHINY ] PRIM_SHINY_NONE, PRIM_BUMP_NONE ]

Related Articles

Functions

•  llSetPrimitiveParams
•  llSetLinkPrimitiveParams
•  llSetLinkPrimitiveParamsFast
•  llGetPrimitiveParams
•  llGetLinkPrimitiveParams
•  llGetObjectName
•  llSetObjectName
•  llGetObjectDetails

Articles

•  Limits SL limits and constrictions
•  Limits SL limits and constrictions
•  Color in LSL
•  Translucent Color
•  Color in LSL
•  Translucent Color
•  Limits SL limits and constrictions
•  Limits SL limits and constrictions
•  Color in LSL
•  Translucent Color
•  Color in LSL
•  Translucent Color

Deep Notes

PRIM_TYPE top_size and client taper conversion
Range[3] Top
Tapered
No
Tapering
Bottom
Tapered
Client [-1, 1] 1.0 0.0 -1.0
PRIM_TYPE [0, 2] 0.0 1.0 2.0
LEGACY [0, 1] 0.0 1.0 NA
Client < 1.11 [0, 1] 0.0 1.0 NA

top_size Explained

When the original PRIM_TYPE interface was retired (PRIM_TYPE_LEGACY, SL 1.5), the new PRIM_TYPE interface did not yet support tapering of the bottom of the prim, this feature wasn't added until SL 1.11 (two years later). Instead of retiring the new PRIM_TYPE when it was added, the range of top_size was enlarged; meanwhile in the client they redefined the parameter and it's values. This redefinition and range enlargement resulted in two interfaces that did the same thing but achieved it through different values. Meanwhile PRIM_TYPE_LEGACY's interface was not updated to support tapering of the bottom of the prim. Consequently all three interfaces have different ranges, making for a rather nasty caveat.

PRIM_TYPE top_size and client taper conversion
Range[3] Top
Tapered
No
Tapering
Bottom
Tapered
Client [-1, 1] 1.0 0.0 -1.0
PRIM_TYPE [0, 2] 0.0 1.0 2.0
LEGACY [0, 1] 0.0 1.0 NA
Client < 1.11 [0, 1] 0.0 1.0 NA

top_size Explained

When the original PRIM_TYPE interface was retired (PRIM_TYPE_LEGACY, SL 1.5), the new PRIM_TYPE interface did not yet support tapering of the bottom of the prim, this feature wasn't added until SL 1.11 (two years later). Instead of retiring the new PRIM_TYPE when it was added, the range of top_size was enlarged; meanwhile in the client they redefined the parameter and it's values. This redefinition and range enlargement resulted in two interfaces that did the same thing but achieved it through different values. Meanwhile PRIM_TYPE_LEGACY's interface was not updated to support tapering of the bottom of the prim. Consequently all three interfaces have different ranges, making for a rather nasty caveat.

Footnotes

  1. ^ The pipe character historically has been used to separate fields in the serialized version of inventory. The field is not multi-line so the newline character holds no meaning in this context.
  2. ^ Floating text with an alpha set to 0.0 is rendered "invisible"

27 PRIM_NAME [  ]

string name ] ] name - prim

3 name 28 PRIM_DESC [ PRIM_DESC ]

string description ] ] description - prim

3 description 9 PRIM_TYPE [ PRIM_TYPE ]

integer flag ] + flag_parameters ] shape - prim
Jive-icon-11x2.png

flag Constants Additional Return Values
PRIM_TYPE_BOX 0 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_CYLINDER 1 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_PRISM 2 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_SPHERE 3 [ integer hole_shape, vector cut, float hollow, vector twist, vector dimple]
PRIM_TYPE_TORUS 4 [ 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 ]
PRIM_TYPE_TUBE 5 [ 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 ]
PRIM_TYPE_RING 6 [ 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 ]
PRIM_TYPE_SCULPT 7 [ string mapinteger type ]
type Flags Style Description
PRIM_SCULPT_TYPE_SPHERE 1 Sphere Converge top & bottom, stitch left side to right
PRIM_SCULPT_TYPE_TORUS 2 Torus Stitch top to bottom, stitch left side to right
PRIM_SCULPT_TYPE_PLANE 3 Plane No stitching or converging
PRIM_SCULPT_TYPE_CYLINDER 4 Cylinder Stitch left side to right.
PRIM_SCULPT_TYPE_MESH 5 Mesh model See: Mesh
PRIM_SCULPT_FLAG_ZZZZZZZZ 63
PRIM_SCULPT_FLAG_ANIMESH 0x20 Animesh Read-only flag to query Animated mesh status.
PRIM_SCULPT_FLAG_INVERT 0x40 Invert Render inside out (inverts the normals).
PRIM_SCULPT_FLAG_MIRROR 0x80 Mirror Render an X axis mirror of the sculpty.
hole_shape Flags Shape
PRIM_HOLE_DEFAULT 0x00 Default
PRIM_HOLE_SQUARE 0x20 Square
PRIM_HOLE_CIRCLE 0x10 Circle
PRIM_HOLE_TRIANGLE 0x30 Triangle

3 shape 2 PRIM_MATERIAL [ PRIM_MATERIAL ]

integer flag ] ] material - prim
Jive-icon-11x2.png

material Flags Description Friction Restitution
PRIM_MATERIAL_STONE 0 stone 0.8 0.4
PRIM_MATERIAL_METAL 1 metal 0.3 0.4
PRIM_MATERIAL_GLASS 2 glass 0.2 0.7
PRIM_MATERIAL_WOOD 3 wood 0.6 0.5
PRIM_MATERIAL_FLESH 4 flesh 0.9 0.3
PRIM_MATERIAL_PLASTIC 5 plastic 0.4 0.7
PRIM_MATERIAL_RUBBER 6 rubber 0.9 0.9
PRIM_MATERIAL_LIGHT 7 light, DEPRECATED: Looks the same as [ PRIM_FULLBRIGHT, ALL_SIDES, TRUE ] 0.6 0.5

3 material 3 PRIM_PHYSICS [ PRIM_PHYSICS ]

integer boolean ] ] physics status - object

4 status physics 4 PRIM_TEMP_ON_REZ [ PRIM_TEMP_ON_REZ ]

integer boolean ] ] temporary - object

4 temporary 5 PRIM_PHANTOM [ PRIM_PHANTOM ]

integer boolean ] ] phantom status - object

4 status phantom 6 PRIM_POSITION [ PRIM_POSITION ]

vector position ] ] position - prim

3 position 8 PRIM_ROTATION [ PRIM_ROTATION ]

rotation rot ] ] global rotation - prim

3 rotation global 29 PRIM_ROT_LOCAL [ PRIM_ROT_LOCAL ]

rotation rot ] ] local rotation - prim

3 rotation local 7 PRIM_SIZE [ PRIM_SIZE ]

vector size ] ] size - prim

3 size 17 PRIM_TEXTURE [ PRIM_TEXTURE, integer face ]

string texture, vector repeats, vector offsets, float rotation_in_radians ] ] texture - face

2 texture 26 PRIM_TEXT [ PRIM_TEXT ]

string text, vector color, float alpha ] ] floating text - prim

3 floating text 18 PRIM_COLOR [ PRIM_COLOR, integer face ]

vector color, float alpha ] ] color & alpha - face

2 color & alpha 19 PRIM_BUMP_SHINY [ PRIM_BUMP_SHINY, integer face ]

integer shiny, integer bump ] ] shiny & bump - face
Jive-icon-11x2.png

bump Flags Description
PRIM_BUMP_NONE 0 none: no bump map
PRIM_BUMP_BRIGHT 1 brightness: generate from highlights
PRIM_BUMP_DARK 2 darkness: generate from lowlights
PRIM_BUMP_WOOD 3 woodgrain
PRIM_BUMP_BARK 4 bark
PRIM_BUMP_BRICKS 5 bricks
PRIM_BUMP_CHECKER 6 checker
PRIM_BUMP_CONCRETE 7 concrete
PRIM_BUMP_TILE 8 crustytile
PRIM_BUMP_STONE 9 cutstone: blocks
PRIM_BUMP_DISKS 10 discs: packed circles
PRIM_BUMP_GRAVEL 11 gravel
PRIM_BUMP_BLOBS 12 petridish: blobby amoeba like shapes
PRIM_BUMP_SIDING 13 siding
PRIM_BUMP_LARGETILE 14 stonetile
PRIM_BUMP_STUCCO 15 stucco
PRIM_BUMP_SUCTION 16 suction: rings
PRIM_BUMP_WEAVE 17 weave
shiny Flags Description
PRIM_SHINY_NONE 0 none
PRIM_SHINY_LOW 1 low
PRIM_SHINY_MEDIUM 2 medium
PRIM_SHINY_HIGH 3 high

2 shiny & bump 23 PRIM_POINT_LIGHT [ PRIM_POINT_LIGHT ]

integer boolean, vector color, float intensity, float radius, float falloff ] ] point light - prim

3 point light 20 PRIM_FULLBRIGHT [ PRIM_FULLBRIGHT, integer face ]

integer boolean ] ] full bright - face

2 full bright 21 PRIM_FLEXIBLE [ PRIM_FLEXIBLE ]

integer boolean, integer softness, float gravity, float friction, float wind, float tension, vector force ] ] flexible - prim

3 flexible 22 PRIM_TEXGEN [ PRIM_TEXGEN, integer face ]

integer type ] ] texture mode - face
Jive-icon-11x2.png

mode Constants Description
PRIM_TEXGEN_DEFAULT 0 The texture repeats units are in texture repeats per face.
PRIM_TEXGEN_PLANAR 1 The texture repeats units are in texture repeats per half meter. This is in contrast to the in-world editing tool, in which the planar texture scaling units are repeats per meter.

2 texture mode 25 PRIM_GLOW [ PRIM_GLOW, integer face ]

float intensity ] ] glow - face

2 glow 24 PRIM_CAST_SHADOWS [ PRIM_CAST_SHADOWS ]

integer boolean ] ] (DEPRECATED) - cast shadow - prim

3 cast shadow *