Skip to content
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.

[BUG-10192] Feature Request: llGetObjectDetails() constant OBJECT_OMEGA #548

Open
sl-service-account opened this issue Sep 4, 2015 · 4 comments

Comments

@sl-service-account
Copy link

Information

Please include the constant OBJECT_OMEGA with llGetObjectDetails().

This will return a vector matching what is returned with llGetOmega().

This will allow applications to determine the rate and axis of rotation an object has.

Currently llGetOmega() can be used to read rate and axis of rotation occurring from the following functions:
llSetTorque()
llSetAngularVelocity()
llTargetOmega() (physical or non-physical)
llApplyRotationalImpulse()
llS*PP*(PRIM_OMEGA) (physical or non-physical)
llSetKeyframedMotion(KFM_ROTATION);

Since PRIM_OMEGA when used with llGPP() & llGLPP() only returns input values, we can only rely on llGetOmega() which only works within the target link & object.

Having an targeted means of returning data is desired so an app can get rate and axis of rotation on itself and/or other objects.

Thanks in advance for any consideration.

Original Jira Fields
Field Value
Issue BUG-10192
Summary Feature Request: llGetObjectDetails() constant OBJECT_OMEGA
Type New Feature Request
Priority Unset
Status Accepted
Resolution Accepted
Reporter Lucia Nightfire (lucia.nightfire)
Created at 2015-09-04T09:31:19Z
Updated at 2017-05-08T22:51:16Z
{
  'Business Unit': ['Platform'],
  'Date of First Response': '2015-09-16T13:49:36.621-0500',
  'How would you like the feature to work?': 'h1. Information\r\n\r\nPlease include the constant OBJECT_OMEGA with llGetObjectDetails().\r\n\r\nThis will return a vector matching what is returned with llGetOmega().\r\n\r\nThis will allow applications to determine the rate and axis of rotation an object has.\r\n \r\nCurrently llGetOmega() can be used to read rate and axis of rotation occurring from the following functions:\r\nllSetTorque()\r\nllSetAngularVelocity()\r\nllTargetOmega() (physical or non-physical)\r\nllApplyRotationalImpulse()\r\nllS*PP*(PRIM_OMEGA)\r\nllSetKeyframedMotion(KFM_ROTATION);\r\n\r\nSince PRIM_OMEGA is broken when used with llGPP() & llGLPP() we can only rely on llGetOmega() which only works within the target link & object.\r\n\r\nHaving an external means of returning data is ideal.\r\n\r\nThanks in advance for any consideration.',
  'ReOpened Count': 0.0,
  'Severity': 'Unset',
  'Target Viewer Version': 'viewer-development',
  'Why is this feature important to you? How would it benefit the community?': '?',
}
@sl-service-account
Copy link
Author

Simon Linden commented at 2015-09-16T18:49:37Z

Hi Lucia - so is the benefit here that you could avoid an extra script needed for the llGetOmega() call?

@sl-service-account
Copy link
Author

Lucia Nightfire commented at 2015-09-16T21:57:05Z

In regards to getting rate of rotation on child prims, yes it would save extra scripts, but we also have no means of getting rate of rotation on target objects.

The need for this initially came about with the need to know the rate of rotation on key frame rotating objects, but I also see benefits knowing this data for vehicles, vehicle components and maybe game apps. I'm sure the community will find even more uses I'm not aware of.

@sl-service-account
Copy link
Author

Lucia Nightfire commented at 2015-09-18T08:04:04Z, updated at 2015-09-21T04:35:27Z

I just want to make it clear I am NOT looking for the vector input value. llGetLinkPrimitiveParams() + PRIM_OMEGA already returns input.

I'm looking for the actual output which currently is only possible with llGetOmega(), but that function is same link limited, which is why a targeted means is desired so a scripted app can get the actual rate and axis of rotation of the same link, other links & other objects.

So if necessary, the function could be called something else to prevent confusion, like OBJECT_GET_OMEGA or OBJECT_OMEGA_ACTUAL, but I really don't believe that is necessary as long as it is explained in the wiki page that it gets the same data as llGetOmega().

@sl-service-account
Copy link
Author

Lucia Nightfire commented at 2015-10-05T00:33:18Z, updated at 2015-10-05T00:36:05Z

Another application I need this data in is a combat app that currently doesn't a way to calculate threat or damage from spinning collider objects. I can only use mass and velocity, but if there is little to no velocity, but high rate of rotation, there is no way to get the rate of rotation of what hit you.

In the future, specifically SL2, if collision events are reformed, I would love for omega to be data that is sent to the event to include omega data which can be read by llDetectedOmega() as any time delay post collision could read lower rates with OBJECT_OMEGA.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant