Difference between revisions of "API Panel.Position.Set"

From Flowcode Help
Jump to navigationJump to search
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<sidebar>API contents</sidebar>
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Sets an objects position based on a component or pre-defined position
+
|-
 
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
<div style="width:25%; float:right" class="toc">
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Set'''
====Class hierarchy====
+
|-
[[API Panel|Panel]]
+
| colspan="2" | Sets an objects position based on a component or pre-defined position&nbsp;
:[[API Panel.Position|Position]]
+
|-
::[[API Panel.Position|Set]]
+
|-
</div>
+
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
__TOC__
+
| width="90%" | Dest
 
+
|-
==Parameters==
+
| colspan="2" | The position or component to update&nbsp;
[[Variable Types|HANDLE]] ''Dest''
+
|-
:The position or component to update
+
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
 
+
| width="90%" | Source
[[Variable Types|HANDLE]] ''Source''
+
|-
:The position or component to read from
+
| colspan="2" | The position or component to read from&nbsp;
 
+
|-
 
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
==Return value==
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
''This call does not return a value''
+
|}
  
  
Line 30: Line 30:
 
==Examples==
 
==Examples==
 
===Calling in a calculation===
 
===Calling in a calculation===
* Add to a calculation icon: <pre class="brush:[cpp]">::Panel.Position.Set(dest, source)</pre>
+
* Declare a variable 'result' of type BOOL
 
+
* Add to a calculation icon: <pre class="brush:[cpp]">result = ::Panel.Position.Set(dest, source)</pre>
===Flowcode example file===
 
Download [[File:SIMAPI_Panel_Position_Set.fcf]] and open it in Flowcode v6. In this example, there are two spheres. The red sphere has dimensions of 24h,24w,24d, the yellow sphere has dimensions of 12h,12w,12d. This is an important consideration when using the Set() function because it effectively clones the dimensions and coordinates of the source component.
 
 
 
What you will see in this demo is the red sphere move to the coordinates of the yellow sphere and also the red sphere will be resized to that of the yellow sphere. As there are now two objects of exact same dimensions and coordinates the red sphere may look like its dissapeared or you may see both spheres exhibiting some colour collision. The LCD will show the coordinates of both spheres.
 
 
 
After two seconds the red sphere will re-appear back in it's original location and to it's original size. Just using the set() function alone would have successfully moved it back to it's original coordinates but it would '''not''' have resized the red sphere back to it's original dimensions.
 
 
 
To return the red sphere back to it's original dimensions, a clever technique can be used by creating a variable of type Handle. Then using the get() api call we pass a copy of the red sphere's original size and coordinates to this variable. Then use set() api call again this time specifying the variable as the source handle. You can see this clearly in the flowcode example.
 
 
 
The screenshots below show the effect and also highlight the code used by the example.
 
 
 
[[File:SIMAPI_Panel_Position_Set_Pic1.png]][[File:SIMAPI_Panel_Position_Set_Pic2.png]]
 
[[File:SIMAPI_Panel_Position_Set_Pic0.png|800px]]
 

Latest revision as of 11:54, 16 January 2023

Fc9-comp-macro.png Set
Sets an objects position based on a component or pre-defined position 
Fc9-h32-icon.png - HANDLE Dest
The position or component to update 
Fc9-h32-icon.png - HANDLE Source
The position or component to read from 
Fc9-bool-icon.png - BOOL Return


Detailed description

This copies the entire contents of a position from Source to Dest. Either handle may be a position or component.

The position will be converted from the sources coordinate-space into the destination space when it is assigned. This means one unit in the Source space is equivalent to one unit in the Dest space, regardless of the scale of owning components.


Examples

Calling in a calculation

  • Declare a variable 'result' of type BOOL
  • Add to a calculation icon:
    result = ::Panel.Position.Set(dest, source)