PRIM TYPE SCULPT

From Second Life Wiki
Revision as of 16:26, 21 August 2008 by Strife Onizuka (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Constant: integer PRIM_TYPE_SCULPT = 7;

The integer constant PRIM_TYPE_SCULPT has the value 7

PRIM_TYPE_SCULPT is a parameter of PRIM_TYPE used to make a prim into a sculpty of specific shape and type.
Sculpted Prims: FAQ

PRIM_TYPE

[ PRIM_TYPE, PRIM_TYPE_SCULPT, string map, integer type ]
• string map a texture in the inventory of the prim this script is in or a UUID of a texture
• integer type PRIM_SCULPT_TYPE_* flag with optional additional PRIM_SCULPT_FLAG_* flags OR'ed on

For use with llSetPrimitiveParams and llSetLinkPrimitiveParams

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.

PRIM_SCULPT_TYPE_MASK can be used to filter out the PRIM_SCULPT_FLAG_* flags from the type to determine the PRIM_SCULPT_TYPE_* flag. The main application of this would be when using llGetPrimitiveParams.

Caveats

  • 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.
All Issues ~ Search JIRA for related Bugs

Related Articles

Constants

•  PRIM_TYPE
•  CHANGED_SHAPE

Functions

•  llSetPrimitiveParams
•  llSetLinkPrimitiveParams
•  llGetPrimitiveParams

Events

•  changed

Examples

<lsl>llSetPrimitiveParams([PRIM_TYPE,

                       PRIM_TYPE_SCULPT, 
                           "d962089b-2197-993c-9ec9-4993eb0a95f2",  // sculpty texture
                           PRIM_SCULPT_TYPE_SPHERE                  // type
                     ]);</lsl>

<lsl>//Rotates between the different sculpt types. default {

   touch_start(integer a)
   {
       list b = llGetPrimitiveParams([PRIM_TYPE]);
       integer type = llList2Integer(b,2) % 4;
       llSetObjectDesc(llList2String([ "Sphere",
                                       "Torus",
                                       "Plane",
                                       "Cylinder"], type));
       llSetPrimitiveParams(PRIM_TYPE + llList2List(b, 0, 1) + (type + 1));
   }

}</lsl>

<lsl>//A simple script to setup a prim as a sculpty. default {

   state_entry()
   {
       llSetPrimitiveParams([
           PRIM_TYPE, PRIM_TYPE_SCULPT, "your Sculpt map name in the object", PRIM_SCULPT_TYPE_SPHERE
         , PRIM_TEXTURE, ALL_SIDES, "your texture name in the object", <1.0, 1.0, 0.0>, <0.0, 0.0, 0.0>, 0.0 //comment out if not needed.

// , PRIM_SIZE, <0.63,0.199,0.52> // If you need to change the scale (size) of the object, uncomment this line.

       ]);
   } // The grey color you see on your sculpt object is the SL no found texture that is grey.

}</lsl>

Deep Notes

History

Search JIRA for related Issues

Signature

integer PRIM_TYPE_SCULPT = 7;