From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
10-10-2012 07:54 AM
I am looking into using a 3d picture but want part of the image to be always visible in a small portion of the viewport (like a logo).
I don't want it ti change size, rotate or otherwise be manipulated, simply be visible and cosntant.
Is this possible? If so, how?
Shane.
10-11-2012 07:08 AM
Hi Shane,
have you already tried to include this as background image to your frontpanel?
Which format (jpeg, png, bmp) is your picture?
Best regards,
10-11-2012 09:28 AM - edited 10-11-2012 09:34 AM
Hi Shane,
No Idea.
One way I think of is if its possible to render a different object displaying your logo constantly on 3d picture, problem would be it won't show up as "transparent" really and would look like a patch on the picture control, which doesnt look good.
The other way I could think of is to keep your logo (transparent one) in a 2d picture of a separate vi, remove vi's background layer(using winapi), bind it to your main vi as a child (again using winapi) at a specific position which overlays over your 3d picture control of main vi. If this idea sounds good to you, I have these winapi VIs ready in different examples posted in the community.
10-12-2012 03:09 AM
Oh, it doesn't have to be transparent.
The problem I see is maintining the position in the visible image while panning and zooming......
Re-calculating the position and scale for each camera move seems like a brute-force way of doing things and I was hoping for some in-built mechanism for this.
Shane
10-12-2012 03:10 AM
@ADagli wrote:
Hi Shane,
have you already tried to include this as background image to your frontpanel?
Which format (jpeg, png, bmp) is your picture?
Best regards,
It's not a picture, it's also a 3d object.
Shane.
10-12-2012 03:38 AM
@Intaris wrote:
I am looking into using a 3d picture but want part of the image to be always visible in a small portion of the viewport (like a logo).
I don't want it ti change size, rotate or otherwise be manipulated, simply be visible and cosntant.
Is this possible? If so, how?
Shane.
I have also ran into this annoyance where it's not possible to overlay/order FP items to be on top of a 3D Picture control.
It seem to be working on 8.2.1 and older versions, but not on the latest & (greatest) LV2012?
If NI would just care to fix the overlay issue detailed here.
Br,
/Roger
10-12-2012 04:05 AM - edited 10-12-2012 04:07 AM
Intaris wrote:
Re-calculating the position and scale for each camera move seems like a brute-force way of doing things and I was hoping for some in-built mechanism for this.
Just to understand, are you trying to put a logo "on" a 3d shape, which could be moved/panned/zoomed? In short, is it not just a logo sitting on certain corner of your 3d picture control?
If it is meant to be constantly sitting in one position, the WINAPI method does not need re-calculating position logic.
10-12-2012 04:20 AM - edited 10-12-2012 04:22 AM
@FraggerFox wrote:
Intaris wrote:
Re-calculating the position and scale for each camera move seems like a brute-force way of doing things and I was hoping for some in-built mechanism for this.
Just to understand, are you trying to put a logo "on" a 3d shape, which could be moved/panned/zoomed? In short, is it not just a logo sitting on certain corner of your 3d picture control?
If it is meant to be constantly sitting in one position, the WINAPI method does not need re-calculating position logic.
Nope, I have a completely seperate object which should always be displayed in, say, the bottom left of the viewport. It has no interaction with any other objects in the scene. I do not want to go the WinAPI route.
Shane.
10-12-2012 04:39 AM
You could build a VI by using subvis from following links:
1) Get Parent-Child set api here: Go to my reply 12 where I have attached the VIs
2) Get Layer remover api here: Take the subvi which removes layer of the "Loading picture" which pops out
Once you get both these APIs, do this programatically:
1) Open your MAIN VI (Which has your 3d picture control)
2) Take the bottom right co-ordinates of the control, and subtract the logo size (This is only one time job, to be done at startup phase)
3) Open the SubVI which consists of your logo only (can be transparent for better feel)
4) Remove the layer of the logo subVI using the API you downloaded (This keeps only the logo, checkout the video where I drag a window behind the loading icon)
5) Make it Child of the MAIN VI by using Parent-Child API and by positioning it to the co-ordinates calculated in (2)
I understand that this might not be the best way to have this done, but I don't know of any other solutions as of yet. Certainly, this method needs calculation of position only once*
, supposing that your control in the main VI itself is not dynamically moving one.
10-12-2012 06:27 AM
FraggerFox,
I truly appreciate the answer suplied but it's simply an approach I'm not going to follow ATM. I will file it away for possible future implementation but currently I'd rather skip the functionality than go the WinAPI route.
Either way, I've spread a bit of kudos around....
Shane.