Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
labs:explicithistory:volatiledatainheritance [2016/02/01]
sandy
labs:explicithistory:volatiledatainheritance [2016/03/23] (current)
sandy
Line 12: Line 12:
 ===== Data inheritance===== ===== Data inheritance=====
  
-Data is stored in parameters (either in Volatile or [[labs:​explicithistory:​persistentdatarecordmanagement|Persistent]] form) and used in components. When data is not stored in the permanent record set of a parameter, it must be inherited from elsewhere. Every parameter (except output parameters) defines where it gets its data from and most parameters are not very particular. You can plug a double parameter into an integer source and it will take care of the conversion. The plug-in defines many conversion schemes but if there is no translation procedure defined, the parameter on the receiving end will generate a conversion error. For example, if you supply a Surface when a Point is needed, the Point parameter will generate an error message (accessible through the menu  of the parameter in question) and turn red. If the parameter belongs to a component, this state of redness will propagate up the hierarchy and the component will become red too, even though it may not contain errors itself.+Data is stored in parameters (either in Volatile or [[labs:​explicithistory:​persistentdatarecordmanagement|Persistent]] form) and used in components. When data is not stored in the permanent record set of a parameter, it must be inherited from elsewhere. Every parameter (except output parameters) defines where it gets its data from and most parameters are not very particular. You can plug a double parameter into an integer source and it will take care of the conversion. The plug-in defines many conversion schemes but if there is no translation procedure defined, the parameter on the receiving end will generate a conversion error. For example, if you supply a Surface when a Point is needed, the Point parameter will generate an error message (accessible through the menu  of the parameter in question) and turn red. If the parameter belongs to a component, this redness will propagate up the hierarchy and the component will become red too, even though it may not contain errors itself.
  
  
-See [[labs:​explicit history:​objectsexplained|Grasshopper Objects Explained]] for more information on warnings and errors. 
- 
-\\ 
 \\ \\
  
 ===== Connection management===== ===== Connection management=====
  
-Since parameters are in charge of their own data sources, you can get access ​to these settings through the parameter in question. Let's assume we have a small definition containing three components and two parameters:+Since parameters are in charge of their own data sources, you can access these settings through the parameter in question. Let's assume we have a small definition containing three components and two parameters:
  
  
 |  {{:​legacy:​en:​ExpHis_Wires_01.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_01.png}} ​ |
  
----- 
 \\ \\
  
-At this stage, all the objects are unconnected and we need to start hooking them up. It doesn'​t matter in what order we do this, but lets go from left to right. If you start dragging near the little circle of a parameter (what us hip people call a //grip//) a connecting wire attaches to the mouse:+At this stage, all the objects are unconnected and we need to start hooking them up. It doesn'​t matter in what order we do this, but let'​s ​go from left to right. If you start dragging near the little circle of a parameter (what us hip people call a //grip//) a connecting wire attaches to the mouse:
  
  
 |  {{:​legacy:​en:​ExpHis_Wires_02.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_02.png}} ​ |
  
----- 
 \\ \\
  
Line 43: Line 38:
 |  {{:​legacy:​en:​ExpHis_Wires_03.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_03.png}} ​ |
  
----- 
 \\ \\
  
Line 51: Line 45:
 |  {{:​legacy:​en:​ExpHis_Wires_04.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_04.png}} ​ |
  
-----+
 |  {{:​legacy:​en:​ExpHis_Wires_05.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_05.png}} ​ |
  
-----+
 \\ \\
  
 |  {{:​legacy:​en:​ExpHis_Wires_06.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_06.png}} ​ |
  
-----+
 |  {{:​legacy:​en:​ExpHis_Wires_07.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_07.png}} ​ |
  
-----+
 \\ \\
  
-Note that we can make connections both ways. But be careful, by default a new connection will erase existing connections. Since we assumed that you will most often only use single connections,​ you have to do something special to define multiple sources. If you press Shift while dragging connection wires, the mouse pointer will change to indicate ​additional behavior:+We can make connections both ways. But be careful, by default a new connection will erase existing connections. Since we assumed that you will most often only use single connections,​ you have to do something special to define multiple sources. If you press **Shift** while dragging connection wires, the mouse pointer will change to show additional behavior:
  
 \\ \\
Line 71: Line 65:
 |  {{:​legacy:​en:​ExpHis_Wires_08.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_08.png}} ​ |
  
-----+
 |  {{:​legacy:​en:​ExpHis_Wires_09.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_09.png}} ​ |
  
-----+
 \\ \\
  
 If the **ADD** cursor is active when you release the mouse button over a source parameter, that parameter is added to the source list. If you specify a source parameter which is already defined as a source, nothing will happen. You cannot inherit from the same source more than once. If the **ADD** cursor is active when you release the mouse button over a source parameter, that parameter is added to the source list. If you specify a source parameter which is already defined as a source, nothing will happen. You cannot inherit from the same source more than once.
  
-By the same token, if you hold down **Control REM** cursor it will become visible, and the targeted source is removed from the source list. If the target isn't referenced, nothing will happen.+By the same token, if you hold down the **Control REM** cursor it will become visible, and the targeted source is removed from the source list. If the target isn't referenced, nothing will happen.
  
 \\ \\
Line 85: Line 79:
 |  {{:​legacy:​en:​ExpHis_Wires_10.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_10.png}} ​ |
  
-----+
 |  {{:​legacy:​en:​ExpHis_Wires_11.png}} ​ | |  {{:​legacy:​en:​ExpHis_Wires_11.png}} ​ |
  
-----+
 \\ \\
  
labs/explicithistory/volatiledatainheritance.txt ยท Last modified: 2016/03/23 by sandy