osSetPrimitiveParams question

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

osSetPrimitiveParams question

simon burke
Folks
    not sure if this is a feature bug or misunderstanding (on my part).
I recently posted a thread at osgrid and was advised to ask here

osgrid  : forums.osgrid.org/viewtopic.php?f=5&t=5191&p=24373#p24373

Background is below

I am using llSetPrimitiveParams to set params on an existing (created)
object to PRIM_TYPE=9, FLAG=7 (sculpt) and MAP=mesh UUID,
PRIM_TYPE_SCULPT = 5 (mesh).

i:e settings to "7::9b71b6a9-98d8-42c4-930a-807247619d33::5"

If i read back PRIM_TYPE right after i get
"7::9b71b6a9-98d8-42c4-930a-807247619d33::1"

so it set the UUID correctly but left the type as 1 (PRIM_TYPE_CYLINDER)
instead of type 5 (MESH).

checking LL docs for LlSetPrimitiveParams say this/"With this subtype,
PRIM_TYPE_SCULPT's map parameter is read-only, when read NULL_KEY is
returned. In other words this can only be used to determine that a prim
is of the mesh subtype."/. It seems it was enabled/allowed initially
then disabled later on.

SO it seems like i have run into the UUID swap problem

http://wiki.secondlife.com/wiki/Why_UUI ... ing_is_Bad
<http://wiki.secondlife.com/wiki/Why_UUID_Flipping_is_Bad>

http://blog.nalates.net/2011/06/27/seco ... e-week-26/
<http://blog.nalates.net/2011/06/27/second-life-mesh-meeting-update-week-26/>

oddly it seems like i can set the UUID, but not set the type to MESH to
use it .


So in summary , while llSetPrimitiveParams i assume must remain
"compatible" with SL, is there any option, setting or other magic i can
use  that would enable osSetPrimitiveParams to support UUID swapping for
Meshes. Specifically I am rezzing a regular "Box", then trying to one
time swap the type, subtype and UUID to an existing mesh UUID. I am not
trying to swap a mesh to a different mesh, or do this more than once per
rez.

There may be bigger technical details beneath this that have been hinted
at in discussions but i am unaware of.

So question is can osSetPRimitiveParams support mesh type and UUID
"setting" ?

cheers

Simon





_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: osSetPrimitiveParams question

Marcus Llewellyn

If I'm reading what you want to accomplish correctly, my understanding is that this is not possible. A mesh's UUID is for an object. It is akin to trying to swap one prim for a completely different one.

As a historical note, when mesh was still in beta over at LL (and in Opensim's original implementation), meshes were originally something applied to a prim, much like a texture or sculpt map. This was later changed, and meshes become first class objects in their own right.

On Jun 5, 2014 3:17 PM, "simon burke" <[hidden email]> wrote:
Folks
   not sure if this is a feature bug or misunderstanding (on my part).
I recently posted a thread at osgrid and was advised to ask here

osgrid  : forums.osgrid.org/viewtopic.php?f=5&t=5191&p=24373#p24373

Background is below

I am using llSetPrimitiveParams to set params on an existing (created) object to PRIM_TYPE=9, FLAG=7 (sculpt) and MAP=mesh UUID, PRIM_TYPE_SCULPT = 5 (mesh).

i:e settings to "7::9b71b6a9-98d8-42c4-930a-807247619d33::5"

If i read back PRIM_TYPE right after i get "7::9b71b6a9-98d8-42c4-930a-807247619d33::1"

so it set the UUID correctly but left the type as 1 (PRIM_TYPE_CYLINDER) instead of type 5 (MESH).

checking LL docs for LlSetPrimitiveParams say this/"With this subtype, PRIM_TYPE_SCULPT's map parameter is read-only, when read NULL_KEY is returned. In other words this can only be used to determine that a prim is of the mesh subtype."/. It seems it was enabled/allowed initially then disabled later on.

SO it seems like i have run into the UUID swap problem

http://wiki.secondlife.com/wiki/Why_UUI ... ing_is_Bad <http://wiki.secondlife.com/wiki/Why_UUID_Flipping_is_Bad>

http://blog.nalates.net/2011/06/27/seco ... e-week-26/ <http://blog.nalates.net/2011/06/27/second-life-mesh-meeting-update-week-26/>

oddly it seems like i can set the UUID, but not set the type to MESH to use it .


So in summary , while llSetPrimitiveParams i assume must remain "compatible" with SL, is there any option, setting or other magic i can use  that would enable osSetPrimitiveParams to support UUID swapping for Meshes. Specifically I am rezzing a regular "Box", then trying to one time swap the type, subtype and UUID to an existing mesh UUID. I am not trying to swap a mesh to a different mesh, or do this more than once per rez.

There may be bigger technical details beneath this that have been hinted at in discussions but i am unaware of.

So question is can osSetPRimitiveParams support mesh type and UUID "setting" ?

cheers

Simon





_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: osSetPrimitiveParams question

simon burke
On 06/05/2014 02:40 PM, Marcus Llewellyn wrote:

If I'm reading what you want to accomplish correctly, my understanding is that this is not possible. A mesh's UUID is for an object. It is akin to trying to swap one prim for a completely different one.

As a historical note, when mesh was still in beta over at LL (and in Opensim's original implementation), meshes were originally something applied to a prim, much like a texture or sculpt map. This was later changed, and meshes become first class objects in their own right.



ok so had mesh'es remained "applied to a prim" then i could have changed the mesh UUID that is applied after rezzing.

BUT

if meshes are now "first class objects" i:e equivalent to a prim, then I must rez a mesh, i can't convert a prim to a mesh.

I think that makes sense.



So question is , is it possible to rez a mesh from an LSL script if i have the original mesh UUID available ?

I know i can copy the mesh object into the prim then llRezObject from there, but the copy is a PITA, can i rez directly without the copy into the prim ?, i:e is there an equivalent to

osRezObject(key UUID,  vector pos, ...) ?


Cheers

S

On Jun 5, 2014 3:17 PM, "simon burke" <[hidden email]> wrote:
Folks
   not sure if this is a feature bug or misunderstanding (on my part).
I recently posted a thread at osgrid and was advised to ask here

osgrid  : forums.osgrid.org/viewtopic.php?f=5&t=5191&p=24373#p24373

Background is below

I am using llSetPrimitiveParams to set params on an existing (created) object to PRIM_TYPE=9, FLAG=7 (sculpt) and MAP=mesh UUID, PRIM_TYPE_SCULPT = 5 (mesh).

i:e settings to "7::9b71b6a9-98d8-42c4-930a-807247619d33::5"

If i read back PRIM_TYPE right after i get "7::9b71b6a9-98d8-42c4-930a-807247619d33::1"

so it set the UUID correctly but left the type as 1 (PRIM_TYPE_CYLINDER) instead of type 5 (MESH).

checking LL docs for LlSetPrimitiveParams say this/"With this subtype, PRIM_TYPE_SCULPT's map parameter is read-only, when read NULL_KEY is returned. In other words this can only be used to determine that a prim is of the mesh subtype."/. It seems it was enabled/allowed initially then disabled later on.

SO it seems like i have run into the UUID swap problem

http://wiki.secondlife.com/wiki/Why_UUI ... ing_is_Bad <http://wiki.secondlife.com/wiki/Why_UUID_Flipping_is_Bad>

http://blog.nalates.net/2011/06/27/seco ... e-week-26/ <http://blog.nalates.net/2011/06/27/second-life-mesh-meeting-update-week-26/>

oddly it seems like i can set the UUID, but not set the type to MESH to use it .


So in summary , while llSetPrimitiveParams i assume must remain "compatible" with SL, is there any option, setting or other magic i can use  that would enable osSetPrimitiveParams to support UUID swapping for Meshes. Specifically I am rezzing a regular "Box", then trying to one time swap the type, subtype and UUID to an existing mesh UUID. I am not trying to swap a mesh to a different mesh, or do this more than once per rez.

There may be bigger technical details beneath this that have been hinted at in discussions but i am unaware of.

So question is can osSetPRimitiveParams support mesh type and UUID "setting" ?

cheers

Simon





_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users