Description This function returns the number of datum available in a data collector surface.
Syntax nDatum = DataCollectorSurfGetDatumCount( surf )
Parameters nDatum (Long) Returned number of datum available in the data collector surface node.
surf As Long Node number of the data collector surface being queried.
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 DataCollectorSurfIsCollectData DataCollectorSurfIsDataAvailable DataCollectorSurfReadCollectedDataFile DataCollectorSurfSetCollectData DataCollectorSurfWriteCollectedDataFile
|