Description This function applies a T_COLLECTED_DATUM variable to a facet in a data collector surface.
Syntax success = DataCollectorSurfSetDatum( surf, datumID, tDatum )
Parameters success (Boolean) Return value indicating whether the datum was successfully applied to the facet.
surf As Long Node number of the data collector surface whose datum is being set.
datumID As Long ID number of the facet where the datum is being applied.
tDatum As T_COLLECTED_DATUM Data structure containing the datum information that is being applied.
Example The example below demonstrates how to loop over all datum in all active data collector surfaces and zero-out the power entries for any datum that does not meet a specific incident ray count threshold value.
Sub Main
Dim tDatum As T_COLLECTED_DATUM Dim nDatum As Long, curDatum As Long Dim curNode As Long, success As Boolean For curNode = 5 To GetEntityCount()-1 'Is the current entity a surface? If IsSurface( curNode ) Then 'Is the current surface a data collector? If IsDataCollectorSurf( curNode ) Then 'Is the data collector set to collect data? If DataCollectorSurfIsCollectData( curNode ) Then 'Is the data collector initialized? Doesn't guarantee non-zero data has been collected. If DataCollectorSurfIsDataAvailable( curNode ) Then
'Loop over all datum on the data collector nDatum = DataCollectorSurfGetDatumCount( curNode ) For curDatum = 0 To nDatum-1
'If ray counts are < threshold, zero out the power values success = DataCollectorSurfGetDatum( curNode, curDatum, tDatum ) If (success) And (tDatum.incidentRayCount<10) Then tDatum.absorbedPower = 0.0 tDatum.incidentPower = 0.0 success = DataCollectorSurfSetDatum( curNode, curDatum, tDatum ) End If
Next End If End If End If End If Next
End Sub
See Also Data Collector Surface Scripting DataCollectorSurfGetDatumCount DataCollectorSurfIsCollectData DataCollectorSurfIsDataAvailable DataCollectorSurfReadCollectedDataFile DataCollectorSurfSetCollectData DataCollectorSurfWriteCollectedDataFile
|