Navigation: Scripting Reference Manual > Functions & Subroutines > DataCollectorSurfGetDatumCount

 

DataCollectorSurfGetDatumCount

 

Contact Us: fredsupport@photonengr.com

 

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

DataCollectorSurfGetDataStats

DataCollectorSurfGetDatum

DataCollectorSurfIsCollectData

DataCollectorSurfIsDataAvailable

DataCollectorSurfReadCollectedDataFile

DataCollectorSurfSetCollectData

DataCollectorSurfSetDatum

DataCollectorSurfWriteCollectedDataFile

 

 

 

 

 

 

Copyright © Photon Engineering, LLC