All Classes Functions Variables Properties
List of all members | Public Member Functions | Properties
ICWFGM_Scenario Class Reference

Interface ICWFGM Scenario. More...

import "FireEngine.idl";

Collaboration diagram for ICWFGM_Scenario:
Collaboration graph

Public Member Functions

HRESULT Clone ([out, retval]ICWFGM_Scenario **scenario)
 
HRESULT GetGridEngine ([out] __int64 *layerThread, [out] ICWFGM_GridEngine **pVal)
 
HRESULT PutGridEngine ([in] __int64 layerThread, [in] ICWFGM_GridEngine *newVal)
 
HRESULT GetAttribute ([in]unsigned short option, [out, retval]VARIANT *value)
 
HRESULT SetAttribute ([in]unsigned short option, [in]VARIANT value)
 
HRESULT GetIgnitionCount ([out, retval]unsigned long *count)
 
HRESULT AddIgnition ([in]ICWFGM_Ignition *fire)
 
HRESULT RemoveIgnition ([in]ICWFGM_Ignition *fire)
 
HRESULT IgnitionAtIndex ([in]unsigned long index, [out, retval]ICWFGM_Ignition **fire)
 
HRESULT IndexOfIgnition ([in]ICWFGM_Ignition *fire, [out, retval]unsigned long *index)
 
HRESULT GetVectorEngineCount ([out, retval]unsigned long *count)
 
HRESULT AddVectorEngine ([in]ICWFGM_VectorEngine *vectorEngine)
 
HRESULT RemoveVectorEngine ([in]ICWFGM_VectorEngine *vectorEngine)
 
HRESULT VectorEngineAtIndex ([in]unsigned long index, [out, retval]ICWFGM_VectorEngine **vectorEngine)
 
HRESULT IndexOfVectorEngine ([in]ICWFGM_VectorEngine *vectorEngine, [out, retval]unsigned long *index)
 
HRESULT Simulation_State ()
 
HRESULT Simulation_Reset ()
 
HRESULT Simulation_Step ()
 
HRESULT Simulation_StepBack ()
 
HRESULT Simulation_Clear ()
 
HRESULT SetDayBurnCondition ([in]short day, [in]VARIANT_BOOL bEffective,[in]unsigned short StartHour, [in]unsigned short EndHour, [in]double MaxWS, [in]double MinRH, [in]double MinFWI)
 
HRESULT SetDefaultBurnCondition ([in]VARIANT_BOOL bEffective,[in]unsigned short StartHour, [in]unsigned short EndHour, [in]double MaxWS, [in]double MinRH, [in]double MinFWI)
 
HRESULT AdjustBurnCondition ()
 
HRESULT GetDayBurnCondition ([in]short day,[out]VARIANT_BOOL *bEffective,[out]unsigned short *StartHour,[out]unsigned short *EndHour,[out]double *MaxWS,[out]double *MinRH, [out]double *MinFWI)
 
HRESULT GetBurnConditionDays ([out]unsigned short *days)
 
HRESULT GetDefaultBurnCondition ([out]VARIANT_BOOL *bEffective,[out]unsigned short *StartHour,[out]unsigned short *EndHour,[out]double *MaxWS,[out]double *MinRH, [out]double *MinFWI)
 
HRESULT IsXYBurned ([in]double X, [in]double Y, [in]unsigned __int64 time, [out, retval]short *burned)
 
HRESULT GetBurnedBox ([in]unsigned __int64 time, [out]double *left, [out]double *right, [out]double *bottom, [out]double *top)
 
HRESULT GetNumberSteps ([out, retval]unsigned long *steps)
 
HRESULT GetStepsArray ([in, out]unsigned long *size, [in, out]SAFEARRAY(unsigned __int64)*times)
 
HRESULT GetNumberFires ([in, out]unsigned __int64 *time, [out, retval]unsigned long *size)
 
HRESULT IgnitionAtFireIndex ([in]unsigned long index, [in, out]unsigned __int64 *time, [out, retval]ICWFGM_Ignition **fire)
 
HRESULT GetVectorSize ([in]unsigned long fire, [in, out]unsigned __int64 *time, [out, retval]unsigned long *size)
 
HRESULT GetVectorArray ([in]unsigned long fire, [in, out]unsigned __int64 *time, [in, out]unsigned long *size, [in, out]SAFEARRAY(double)*xy_pairs)
 
HRESULT GetStatsArray ([in]unsigned long fire, [in, out]unsigned __int64 *time, [in]unsigned short stat, [in, out]unsigned long *size, [in, out]SAFEARRAY(double)*stats)
 
HRESULT GetStats ([in]unsigned long fire, [in, out]unsigned __int64 *time, [in]unsigned short stat, [out, retval]VARIANT *stats)
 
HRESULT GetXYStats ([in]double X, [in]double Y, [in, out]unsigned __int64 *time, [in]unsigned short stat, [in]unsigned short interp_method, [out, retval]VARIANT *stats)
 
HRESULT GetStatsPercentage ([in]ULONG fire, [in, out]unsigned __int64 *time, [in]unsigned short stat, [in]double greater_equal, [in]double less_than, [out, retval]double *stats)
 
HRESULT ExportFires ([in] ICWFGM_Ignition *set, [in, out] unsigned __int64 *start_time, [in, out] unsigned __int64 *end_time, [in] unsigned short flags, [in] const BSTR driver_name, [in] const BSTR projection, [in] const BSTR file_path, [in] SAFEARRAY(SExportRule) rules)
 

Properties

VARIANT UserData [get, set]
 

Detailed Description

Interface ICWFGM Scenario.

The ICWFGM Scenario Interface is part of FireEngine

Member Function Documentation

ICWFGM_Scenario::AddIgnition ( [in] ICWFGM_Ignition fire)

Adds an ignition to this scenario object.

Parameters
fireAn ignition object
See Also
CCWFGM_Scenario::AddIgnition
ICWFGM_Scenario::AddVectorEngine ( [in] ICWFGM_VectorEngine vectorEngine)

Adds a vector engine object to this scenario object. The order of vector engine objects is unimportant (where the order of grid engine objects is).

Parameters
vectorEngineA vector engine object.
See Also
CCWFGM_Scenario::AddVectorEngine
ICWFGM_Scenario::AdjustBurnCondition ( )

This method will propagate the last defined day burned condition to all remaining days in the simulation. This method is a candidate for removal and should not be used. This functionality is best implemented by the client application to avoid any possible assumptions on its behaviour and side-effects. This functionality is likely not needed with a more generalized approach to implementing burning conditions.

See Also
CCWFGM_Scenario::AdjustBurnCondition
ICWFGM_Scenario::Clone ( [out, retval] ICWFGM_Scenario **  scenario)

Creates a new scenario object with all the same properties of the object being called, returns a handle to the new object in 'scenario'. This operation does not link the cloned object to the fires attached to the object being called, nor does it record the GridEngine handle in the new object, it only duplicates the properties such as start time, end time, calculation intervals, etc.

Parameters
scenarioA scenario object
See Also
CCWFGM_Scenario::Clone
ICWFGM_Scenario::ExportFires ( [in] ICWFGM_Ignition set,
[in,out] unsigned __int64 *  start_time,
[in,out] unsigned __int64 *  end_time,
[in] unsigned short  flags,
[in] const BSTR  driver_name,
[in] const BSTR  projection,
[in] const BSTR  file_path,
[in] SAFEARRAY(SExportRule)  rules 
)

Exports fires generated from a specific ignition at a specific simulated time, given options.

Parameters
setIdentifies a specific ignition. If NULL, then all fires at the time specified are exported
start_timeStart time for which to export at, specified GMT time since Midnight January 1, 1600. Only displayable time steps will be output.
end_timeEnd time for which to export at, specified GMT time since Midnight January 1, 1600. Only displayable time steps will be output.
flags
  • SCENARIO_EXPORT_SUBSET_EXTERIOR If TRUE, then only exterior perimeters are exported. If FALSE, then all exterior and interior perimeters are exported.
  • SCENARIO_EXPORT_SUBSET_ACTIVE If TRUE, then active portions of the perimeters are exported as polylines. If FALSE, then all portions of the perimeters are exported (as polygons).
  • SCENARIO_EXPORT_COMBINE_SET If TRUE, then multiple fire perimeters will be merged together. If FALSE, then boundaries among the fires will persist.
driver_nameIdentifies file format. Refer to GDAL documentation for supported formats
projectionProjection file name
file_pathVector data file name
rulesSet of rules defining extra / optional data fields, etc. to be included in the export
See Also
CCWFGM_Scenario::ExportFires
ICWFGM_Scenario::GetAttribute ( [in] unsigned short  option,
[out, retval] VARIANT *  value 
)

Polymorphic. Retrieves a value for a scenario setting that the client application can used to modify the operation of the scenario. These values are defined in FireEngine_ext.h.

Parameters
optionOption of interest(a list of possible options apears in "FireEngine_ext.h"
valueValue of the option
See Also
CCWFGM_Scenario::GetAttribute
ICWFGM_Scenario::GetBurnConditionDays ( [out] unsigned short *  days)

Retrieves the number of burn condition days.

Parameters
daysThe number of days which satisfy the burn condition
See Also
CCWFGM_Scenario::GetBurnConditionDays
ICWFGM_Scenario::GetBurnedBox ( [in] unsigned __int64  time,
[out] double *  left,
[out] double *  right,
[out] double *  bottom,
[out] double *  top 
)

Retrieves the rectangular area encompassing all burned areas of all fires at a specific time during the simulation.

Parameters
timeA GMT time provided as seconds since Midnight January 1, 1600
leftMinimum X coordinate, inclusive
rightMaximum X coordinate, inclusive
bottomMinimum Y coordinate, inclusive
topMaximum Y coordinate, inclusive
See Also
CCWFGM_Scenario::GetBurnedBox
ICWFGM_Scenario::GetDayBurnCondition ( [in] short  day,
[out] VARIANT_BOOL *  bEffective,
[out] unsigned short *  StartHour,
[out] unsigned short *  EndHour,
[out] double *  MaxWS,
[out] double *  MinRH,
[out] double *  MinFWI 
)

Retrieves the burning conditions for a specific day in the simulation. If the burning time is outside the bounds of StartHourand EndHour, then the fire does not burn. If the wind speed is less than MaxWS, then the fire does not burn. If the relative humidity is greater than MinRH, then the fire does not burn. Otherwise, the fire will burn based on the spatial and temporal conditions available. This method is a candidate for updating and should used with care. This method definition uses a non-standard (w/r to the rest of this interface) means of identifying days and times. This method declaration is also very limiting with respect to the type and range of conditions which may define the burning condition (and thus the fire growth).

Parameters
dayIdentifies the day of the simulation to set these conditions upon
bEffectiveEnables or disables the burning condition
StartHourStart of the burning period of the day
EndHourEnd of the burning period of the day
MaxWSMinimum wind speed which will sustain burning
MinRHMaximum relative humidity which will sustain burning
MinFWIMinimum FWI value which will sustain burning
See Also
CCWFGM_Scenario::GetDayBurnCondition
ICWFGM_Scenario::GetDefaultBurnCondition ( [out] VARIANT_BOOL *  bEffective,
[out] unsigned short *  StartHour,
[out] unsigned short *  EndHour,
[out] double *  MaxWS,
[out] double *  MinRH,
[out] double *  MinFWI 
)

Burning conditions may individually exist for each day of the simulation. In addition, a standard, default burning condition can be defined for any day without specific settings. This method retrieves those default burning conditions. This method is a candidate for updating and should used with care. This method definition uses a non-standard (w/r to the rest of this interface) means of identifying times. This method declaration is also very limiting with respect to the type and range of conditions which may define the burning condition (and thus the fire growth).

Parameters
bEffectiveEnables or disables the burning condition
StartHourStart of the burning period of the day
EndHourEnd of the burning period of the day
MaxWSMinimum wind speed which will sustain burning
MinRHMaximum relative humidity which will sustain burning
MinFWIMinimum FWI value which will sustain burning
See Also
CCWFGM_Scenario::GetDefaultBurnCondition
ICWFGM_Scenario::GetGridEngine ( [out] __int64 *  layerThread,
[out] ICWFGM_GridEngine **  pVal 
)

Sets or retrieves the object exposing the GridEngine interface that this scenario object uses to retrieve the spatial and temporal grid data (representing fuels, elevations, and weather). Note that objects implementing this interface may be chained, or layered together, but the scenario object is only concerned with the top-most object.

Parameters
pValValue of GridEngine
layerThreadHandle for scenario layering/stack access, allocated from an ICWFGM_LayerManager COM object. Needed. It is designed to allow nested layering analogous to the GIS layers.
See Also
CCWFGM_Scenario::GetGridEngine
ICWFGM_Scenario::GetIgnitionCount ( [out, retval] unsigned long *  count)

Returns the number of ignitions associated with this scenario object.

Parameters
countNumber of ignitions
See Also
CCWFGM_Scenario::GetIgnitionCount
ICWFGM_Scenario::GetNumberFires ( [in,out] unsigned __int64 *  time,
[out,retval] unsigned long *  size 
)

Returns the number of fires (burning, partially burning, or not burning) which are in the simulation at the specified time.

Parameters
timeTime for the query
sizeReturn value, number of fires
See Also
CCWFGM_Scenario::GetNumberFires
ICWFGM_Scenario::GetNumberSteps ( [out, retval] unsigned long *  steps)

Given a scenario, this method returns the number of output time steps that have been calculated in the simulation for this fire. A fire can simultaneously contain statistical information for a variety of scenarios.

Parameters
stepsNumber of output times steps
See Also
CCWFGM_Scenario::GetNumberSteps
ICWFGM_Scenario::GetStats ( [in] unsigned long  fire,
[in,out] unsigned __int64 *  time,
[in] unsigned short  stat,
[out,retval] VARIANT *  stats 
)

This method returns a particular statistic for the fire, for a specific simulation at a specific time. stat must be a valid statistic, as defined in FireEngine_ext.h. time is passed in as a requested time and returned as the actual time that the data is for.

Parameters
fireIndex of the fire
timeSpecified GMT time since Midnight January 1, 1600
statRequested statistic. Valid statistics for query are:
  • CWFGM_FIRE_STAT_TOTAL_PERIMETER 64-bit floating point. (metres) Total fire perimeter, including interior and exterior and active/inactive portions.
  • CWFGM_FIRE_STAT_EXTERIOR_PERIMETER 64-bit floating point. (metres) Total exterior fire perimeter, including active and inactive portions.
  • CWFGM_FIRE_STAT_ACTIVE_PERIMETER 64-bit floating point. (metres) Portion of the fire front considered active (interior and exterior) (where 1 or both vertices are active)
  • CWFGM_FIRE_STAT_AREA 64bit floating point. (sq. metres) Total area of the fire.
  • CWFGM_FIRE_STAT_TOTAL_PERIMETER_CHANGE 64-bit floating point. (metres) Change in the total perimeter growth.
  • CWFGM_FIRE_STAT_TOTAL_PERIMETER_GROWTH 64-bit floating point. (metres per minute) Rate of change in the total perimeter growth rate.
  • CWFGM_FIRE_STAT_EXTERIOR_PERIMETER_CHANGE 64-bit floating point. (metres) Change in the exterior perimeter growth.
  • CWFGM_FIRE_STAT_EXTERIOR_PERIMETER_GROWTH 64-bit floating point. (metres per minute) Rate of change in the exterior perimeter growth rate.
  • CWFGM_FIRE_STAT_ACTIVE_PERIMETER_CHANGE 64-bit floating point. (metres) Change in the active perimeter growth.
  • CWFGM_FIRE_STAT_ACTIVE_PERIMETER_GROWTH 64-bit floating point. (metres per minute) Rate of change in the active perimeter growth rate.
  • CWFGM_FIRE_STAT_AREA_CHANGE 64-bit floating point. (sq. metres). Change in fire area.
  • CWFGM_FIRE_STAT_AREA_GROWTH 64-bit floating point. (sq. metres). Rate of change in the fire area.
  • CWFGM_FIRE_STAT_NUM_POINTS 32-bit integer. Number of vertices defining the fire perimeter(s).
  • CWFGM_FIRE_STAT_NUM_ACTIVE_POINTS 32-bit integer. Number of active vertices defining the fire perimeter(s).
  • CWFGM_FIRE_STAT_CUMULATIVE_NUM_POINTS 32-bit integer. Total, cumulative number of verticies defining the simulation's perimeters.
  • CWFGM_FIRE_STAT_NUM_FRONTS 32-bit integer. Number of fire fronts (interior and exterior).
  • CWFGM_FIRE_STAT_NUM_ACTIVE_FRONTS 32-bit integer. Number of fire fronts (interior and exterior) which have at least 1 active vertex.
  • CWFGM_FIRE_STAT_ROS 64-bit floating point. Maximum rate of spread calculated from Dr. Richards' ellipse equations (metres per minute)
  • CWFGM_FIRE_STAT_CFB 64-bit floating point. Maximum crown fraction burned (unitless), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_CFC 64-bit floating point. Maximum crown fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_SFC 64-bit floating point. Maximum surface fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_TFC 64-bit floating point. Maximum total fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FI 64-bit floating point. Maximum fire intensity, based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FLAMELENGTH 64-bit floating point. Maximum flame length (metres), based on ROS from Dr. Richards' ellipse equations
statsCalculated statistic value
See Also
CCWFGM_Scenario::GetsStats
ICWFGM_Scenario::GetStatsArray ( [in] unsigned long  fire,
[in,out] unsigned __int64 *  time,
[in] unsigned short  stat,
[in,out] unsigned long *  size,
[in,out] SAFEARRAY(double)*  stats 
)

Given a fire, this method returns a statistic for each point defining a fire front at the time specified in the simulation. stat must be a valid statistic, as defined in FireEngine_ext.h. size is passed in as the size of the array, and returned as the actual number of elements set. xand y are pointers to arrays that will receive the locations (in grid units) of the fire. time is passed in as a requested time and returned as the actual time that the data is for. Statistics data is returned for both active and inactive points.

Parameters
fireIndex of the fire
timeSpecified GMT time since Midnight January 1, 1600
statRequested statistic, valid statistics are:
  • CWFGM_FIRE_STAT_FBP_RSI initial spread rate without BUI effect, from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_ROS rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_BROS back rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_FROS flank rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_RAZ wind speed vector azimuth from FBP calculations (radians, Cartesian)
  • CWFGM_FIRE_STAT_ROS rate of spread calculated from Dr. Richards' ellipse equations (metres per minute)
  • CWFGM_FIRE_STAT_CFB crown fraction burned (unitless), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_CFC crown fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_SFC surface fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_TFC total fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FI fire intensity, based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FLAMELENGTH flame length (metres), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_OUTER Boolean. (identifies if the point is on the outer hull)
sizeSize of the stats array
statsArray of statistics
See Also
CCWFGM_Scenario::GetStatsArray
ICWFGM_Scenario::GetStatsPercentage ( [in] ULONG  fire,
[in,out] unsigned __int64 *  time,
[in] unsigned short  stat,
[in] double  greater_equal,
[in] double  less_than,
[out,retval] double *  stats 
)

This method returns a count of occurence particular statistic for a specific range of values, given a fire and time. stat must be a valid statistic, as defined in FireEngine.h

Parameters
fireIndex of the fire
timeSpecified GMT time since Midnight January 1, 1600
statRequested statistic. Valid statistics for query are:
  • CWFGM_FIRE_STAT_FBP_RSI initial spread rate without BUI effect, from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_ROS rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_BROS back rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_FROS flank rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_ROS rate of spread calculated from Dr. Richards' ellipse equations (metres per minute)
  • CWFGM_FIRE_STAT_CFB crown fraction burned (unitless), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_CFC crown fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_SFC surface fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_TFC total fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FI fire intensity, based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FLAMELENGTH flame length (metres), based on ROS from Dr. Richards' ellipse equations
greater_equalLower range of values
less_thanUpper range of values
statsCalculated statistic value
See Also
CCWFGM_Scenario::GetStatsPercentage
ICWFGM_Scenario::GetStepsArray ( [in,out] unsigned long *  size,
[in,out] SAFEARRAY(unsigned __int64)*  times 
)

Given an array, return the times for each time step calculated in the simulation. size is passed in as the size of the array, and returned as the actual number of elements set. times is a pointer to an array that will receive the GMT times for each calculated time step. The size of the array that is required can be obtained by calling GetNumberSteps().

Parameters
sizeSize of the times array
timesArray of times
See Also
CCWFGM_Scenario::GetStepsArray
ICWFGM_Scenario::GetVectorArray ( [in] unsigned long  fire,
[in,out] unsigned __int64 *  time,
[in,out] unsigned long *  size,
[in,out] SAFEARRAY(double)*  xy_pairs 
)

Given a fire, this method returns the points defining a fire front at the time specified in the simulation. size is passed in as the size of the array, and returned as the actual number of elements set. Locations are returned in X/Y pairs in the appropriate array (in grid units) of the fire. time is passed in as a requested time and returned as the actual time that the data is for.

Parameters
fireIndex of the fire
timeSpecified time(on return, time is set to the actual time the array of coordinates relates to)
sizeSize of the xy_pairs array
xy_pairs2D Array of coordinates
See Also
CCWFGM_Scenario::GetVectorArray
ICWFGM_Scenario::GetVectorEngineCount ( [out, retval] unsigned long *  count)

Returns the number of vector engine objects associated with this scenario object.

Parameters
countNumber of vector engine objects
See Also
CCWFGM_Scenario::GetVectorEngineCount
ICWFGM_Scenario::GetVectorSize ( [in] unsigned long  fire,
[in,out] unsigned __int64 *  time,
[out,retval] unsigned long *  size 
)

Given a fire, this method returns the number of points defining a fire front at the time specified in the simulation. time is passed in as a requested time and returned as the actual time that the vector size relates to.

Parameters
fireIndex of the fire
timeSpecified time(on return, time is set to the actual time the vector size relates to)
sizeNumber of points defining a fire front
See Also
CCWFGM_Scenario::GetVectorSize
ICWFGM_Scenario::GetXYStats ( [in] double  X,
[in] double  Y,
[in,out] unsigned __int64 *  time,
[in] unsigned short  stat,
[in] unsigned short  interp_method,
[out,retval] VARIANT *  stats 
)

This method returns a particular statistic for a specific location in the fire/grid, for a specific simulation at a specific time. stat must be a valid statistic, as defined in FireEngine_ext.h. time is passed in as a requested time and returned as the actual time that the data is for.

Parameters
XThe x coordinate
YThe y coordinate
timeSpecified GMT time since January 1, 1600
statRequest statistic. Valid statistics for query are:
  • CWFGM_FIRE_STAT_FBP_RSI initial spread rate without BUI effect, from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_ROS rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_BROS back rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_FBP_FROS flank rate of spread from FBP calculations (metres per minute)
  • CWFGM_FIRE_STAT_ROS rate of spread calculated from Dr. Richards' ellipse equations (metres per minute)
  • CWFGM_FIRE_STAT_RAZ wind speed vector azimuth from FBP calculations (radians, Cartesian)
  • CWFGM_FIRE_STAT_CFB crown fraction burned (unitless), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_CFC crown fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_SFC surface fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_TFC total fuel consumption (kg/m2), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FI fire intensity, based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FLAMELENGTH flame length (metres), based on ROS from Dr. Richards' ellipse equations
  • CWFGM_FIRE_STAT_FMC foliar moisture content
  • CWFGM_FIRE_STAT_ACTIVE Boolean. (Identifies if the point is active or stopped.)
interp_methodHow to calculate/determine the value of the statistic requested
  • SCENARIO_XYSTAT_TECHNIQUE_CLOSEST_VERTEX Picks the closest vertex from 1 of 2 specific fire perimeters: the one which first contained the point of interest, and the perimeter immediately prior to that.
  • SCENARIO_XYSTAT_TECHNIQUE_IDW Calculates the statistic using IDW, using all local, active vertices.
  • SCENARIO_XYSTAT_TECHNIQUE_AREA_WEIGHTING Calculates the statistic using weighting based on union between voronoi regions and the grid cell of interest.
  • SCENARIO_XYSTAT_TECHNIQUE_VORONOI_OVERLAP Calculates the statistic using weighting based on the union of the point's inserted voronoi region and the voronoi regions of each vertex without the point.
  • SCENARIO_XYSTAT_TECHNIQUE_CALCULATE Calculates the statistic in the same manner as the simulation would.
statsCalculated statistic value
See Also
CCWFGM_Scenario::GetXYStats
ICWFGM_Scenario::IgnitionAtFireIndex ( [in] unsigned long  index,
[in,out] unsigned __int64 *  time,
[out,retval] ICWFGM_Ignition **  fire 
)

Given a fire at a specific time in the simulation, identifies the ignition from which the fire originated.

Parameters
indexIndex of the fire
timeTime of the simulation
fireReturn value; ignition
See Also
CCWFGM_Scenario::IgnitionAtFireIndex
ICWFGM_Scenario::IgnitionAtIndex ( [in] unsigned long  index,
[out,retval] ICWFGM_Ignition **  fire 
)

Given an index value, returns a pointer to an ignition associated with this scenario.

Parameters
indexIndex to an ignition
fireAn ignition object
See Also
CCWFGM_Scenario::IgnitionAtIndex
ICWFGM_Scenario::IndexOfIgnition ( [in] ICWFGM_Ignition fire,
[out, retval] unsigned long *  index 
)

Returns the index of fire in this scenario's set of ignitions.

Parameters
fireAn ignition object
indexIndex to a fire object
See Also
CCWFGM_Scenario::IndexOfIgnition
ICWFGM_Scenario::IndexOfVectorEngine ( [in] ICWFGM_VectorEngine vectorEngine,
[out, retval] unsigned long *  index 
)

Returns the index of vectorEngine in this scenario's set of vector engines.

Parameters
vectorEngineA vector engine object
indexIndes to a vector engine
See Also
CCWFGM_Scenario::IndexOfVectorEngine
ICWFGM_Scenario::IsXYBurned ( [in] double  X,
[in] double  Y,
[in] unsigned __int64  time,
[out, retval] short *  burned 
)

Retrieves whether the location at (X, Y) was burned before or during time.

Parameters
XX coordinate
YY coordinate
timeA GMT time provided as seconds since Midnight January 1, 1600
burnedIf the location has been burned, this value is set to 1, otherwise it is set to 0.
See Also
CCWFGM_Scenario::IsXYBurned
ICWFGM_Scenario::PutGridEngine ( [in] __int64  layerThread,
[in] ICWFGM_GridEngine newVal 
)

Sets or retrieves the object exposing the GridEngine interface that this scenario object uses to retrieve the spatial and temporal grid data (representing fuels, elevations, and weather). Note that objects implementing this interface may be chained, or layered together, but the scenario object is only concerned with the top-most object.

Parameters
newValReplacement value for GridEngine
layerThreadHandle for scenario layering/stack access, allocated from an ICWFGM_LayerManager COM object. Needed. It is designed to allow nested layering analogous to the GIS layers.
See Also
CCWFGM_Scenario::PutGridEngine
ICWFGM_Scenario::RemoveIgnition ( [in] ICWFGM_Ignition fire)

Removes an association between an ignition and this scenario object.

Parameters
fireAn ignition object
See Also
CCWFGM_Scenario::RemoveIgnition
ICWFGM_Scenario::RemoveVectorEngine ( [in] ICWFGM_VectorEngine vectorEngine)

Removes a vector engine object from this scenario.

Parameters
vectorEngineA vector engine object
See Also
CCWFGM_Scenario::RemoveVectorEngine
ICWFGM_Scenario::SetAttribute ( [in] unsigned short  option,
[in] VARIANT  value 
)

Polymorphic. Sets a value for a scenario setting that the client application can modify to change the operation of the scenario.

Parameters
optionOption of interest
valueValue to set the option to
See Also
CCWFGM_Scenario::SetAttribute
ICWFGM_Scenario::SetDayBurnCondition ( [in] short  day,
[in] VARIANT_BOOL  bEffective,
[in] unsigned short  StartHour,
[in] unsigned short  EndHour,
[in] double  MaxWS,
[in] double  MinRH,
[in] double  MinFWI 
)

Sets the burning conditions for a specific day in the simulation. If the burning time is outside the bounds of StartHour and EndHour, then the fire does not burn. If the wind speed is less than MaxWS, then the fire does not burn. If the relative humidity is greater than 'MinRH', then the fire does not burn. Otherwise, the fire will burn based on the spatial and temporal conditions available. This method is a candidate for updating and should used with care. This method definition uses a non-standard (w/r to the rest of this interface) means of identifying days and times. This method declaration is also very limiting with respect to the type and range of conditions which may define the burning condition (and thus the fire growth). The implementation in this scenario object also requires that if burning conditions exits for days 3, 5, then specific burning conditions must also exist for days 0, 1, 2, 4.

Parameters
dayIdentifires the day of the simulation to set these conditions upon
bEffectiveEnables or disables the burning condition
StartHourStart of the burning period of the day
EndHourEnd of the burning period of the day
MaxWSMinimum wind speed which will sustain burning
MinRHMaximum relative humidity which will sustain burning
MinFWIMinimum FWI value which will sustain burning
See Also
CCWFGM_Scenario::SetDayBurnCondition
ICWFGM_Scenario::SetDefaultBurnCondition ( [in] VARIANT_BOOL  bEffective,
[in] unsigned short  StartHour,
[in] unsigned short  EndHour,
[in] double  MaxWS,
[in] double  MinRH,
[in] double  MinFWI 
)

Burning conditions may individually exist for each day of the simulation. In addition, a standard, default burning condition can be defined for any day without specific settings. This method sets these default burning conditions. This method is a candidate for updating and should used with care. This method definition uses a non-standard (w/r to the rest of this interface) means of identifying times. This method declaration is also very limiting with respect to the type and range of conditions which may define the burning condition (and thus the fire growth).

Parameters
bEffectiveEnables or disables the burning condition
StartHourStart of the burning period of the day
EndHourEnd of the burning period of the day
MaxWSMinimum windpseed which will sustain burning
MinRHMaximum relative humidity which will sustain burning
MinFWIMinimum FWI value which will sustain burning
See Also
CCWFGM_Scenario::SetDefaultBurnCondition
ICWFGM_Scenario::Simulation_Clear ( )

Clears the current scenario's calculations, unlocks the scenario's objects and clears the displays.

See Also
CCWFGM_Scenario::Simulation_Clear
ICWFGM_Scenario::Simulation_Reset ( )

Prepares a scenario's simulation to begin running. This routine must be called before Simulation_Step(), and must be called to re-run a simulation. This routine erases any data stored from a previously running simulation.

See Also
CCWFGM_Scenario::Simulation_Reset
ICWFGM_Scenario::Simulation_State ( )

Returns the current state of the simulation, being currently running, complete, or in some invalid state preventing any simulation from beginning.

See Also
CCWFGM_Scenario::Simulation_State
ICWFGM_Scenario::Simulation_Step ( )

Runs the simulation for exactly one calculation time step period of time. This routine can be called after Simulation_Reset().

See Also
CCWFGM_Scenario::Simulation_Step
ICWFGM_Scenario::Simulation_StepBack ( )

Removes one displayable step during a simulation.

See Also
CCWFGM_Scenario::Simulation_StepBack
ICWFGM_Scenario::VectorEngineAtIndex ( [in] unsigned long  index,
[out,retval] ICWFGM_VectorEngine **  vectorEngine 
)

Given an index value, returns a pointer to a vector engine associated with this scenario.

Parameters
indexIndes to a vector engine
vectorEngineA vector engine object
See Also
CCWFGM_Scenario::VectorEngineAtIndex

Property Documentation

Property ICWFGM_Scenario::UserData
getsetproperty

This property is unused by this object, and is available for exclusive use by the client code. It is a VARIANT value to ensure that the client code can store a pointer value (if it chooses) for use in manual subclassing this object. This value is not loaded or saved during serialization operations, and it is the responsibility of the client code to manage any value or object stored here. Access to this property is not thread-safe.

Parameters
pValwhen retrieving the property
newValwhen setting the property