Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X
Hi!
Via API, how do I get status if a light source is locked to Studio/Model/Camera?
ProLightInfo structure is missing such a flag.
Solved! Go to Solution.
I got a confirmation from the support team that there is no such an API so far. I will submit an idea.
Have you looked in "Creo Parametric TOOLKIT User’s Guide"?
Hi @rkhvostikov ,
is this a Creo Parametric API question? If yes , in this case I could not understand what you meant with (Studio /Model /Camera- is this AR Vuforia Studio related?
So regarding to the structure :
typedef struct pro_tk_light
{
wchar_t name[PRO_NAME_SIZE];
ProLightType type;
ProBoolean status; /* active or inactive */
double rgb[3]; /* for all types */
double position[3]; /* for point and spot */
double direction[3]; /* for direction and spot */
double spread_angle; /* for spot, in radian */
ProBoolean cast_shadows;
} ProLightInfo;
defined in ProSuface.h -what means that this is more then surface appearance oriented but not general projection related. Ok it is applied to the current Window.
ProError ProLightSourcesGet( int window_id, ProLightInfo** light_info);
ProError ProLightSourcesSet( int window_id,ProLightInfo* light_info);
For planar projection what is the usage in Creo Parametric there is no camera definition required. In this case we have the different transformation matrix to transform coordinates rom part to assembly ... etc. - model transform -then form model to View and Display and in drawing to drawing coordinates (please, see the chapter 9 Core: Coordinate Systems and Transformations page 222 ) in the attached document in the post from @VladimirN -> - creo Tk user guide
I am not sure if Toolkit API could access or set perspective projection like Web.GL e.g. https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_model_view_projection
In the past (older Creo Releases) it was not possible for the Toolkit API to use perspective views but I did not check the latest releases if this is provided in the meantime. I believe it is not available but not sure
I remember only the drawing function ProDrawingViewPerspectiveScaleGet()
The function ProDrawingViewPerspectiveScaleGet() returns the
perspective scale applied to a drawing view. This scale option is available only for
general views. The function returns the following output arguments:
• eye_dist—Specifies the eye-point distance from model space.
• view_dia—Specifies the view diameter in paper units such as mm
But this is a drawing view related funciton.
So the quesiton is what is the goal here. What should be achieved?
Hi @RolandRaytchev .
Yes, this is a Creo Parametric question.
Yes, ProLightSourcesGet() is the method to enumerate lights as in "Lights..." page of "Scene Editor" dialog. It is quite easy to verify.
My quess is that the position/direction returned in ProLightInfo struction relate to the current orientation of a model in a view.
But still this is not enough for us because we need to render our images with different orientation. So I need to know should I transform light coordinates to different orientation or treat it locked to eye viewpoint.
I got a confirmation from the support team that there is no such an API so far. I will submit an idea.
"Creo Parametric Ideas": https://community.ptc.com/t5/Creo-Parametric-Ideas/idb-p/creoparametric