///////////////////////////////////////////////////////////////////////////////
// GetData
/////////////////////////////////////////////////////////////////////////////
void clLightDepSeedSurvival::GetData( xercesc::DOMDocument * p_oDoc )
{
  try
  {

    //Make sure the light org object got a chance to do setup, which it
    //wouldn't have if this is the only light behavior around
    if (!m_bUseStormLight) {
      if ( mp_oLightOrg->GetMaxTreeHeight() <= 0 )
      {
        mp_oLightOrg->DoSetup( mp_oSimManager, p_oDoc );
      }
    }

    GetParameterFileData( p_oDoc );
    GetTreeDataMemberCodes();
    SetupGrid();
    DoLightSetup();
  }
  catch ( modelErr & err )
  {
    throw( err );
  }
  catch ( modelMsg & msg )
  {
    throw( msg );
  } //non-fatal error
  catch ( ... )
  {
    modelErr stcErr;
    stcErr.iErrorCode = UNKNOWN;
    strcpy( stcErr.cFunction, "clLightDepSeedSurvival::GetData" );
    throw( stcErr );
  }
}
예제 #2
0
////////////////////////////////////////////////////////////////////////////
// DoShellSetup()
////////////////////////////////////////////////////////////////////////////
void clResourceMortality::DoShellSetup( xercesc::DOMDocument * p_oDoc )
{
  try
  {
    m_fNumberYearsPerTimestep = mp_oSimManager->GetNumberOfYearsPerTimestep();

    ReadParameterFileData( p_oDoc );
    GetTreeDataMemberCodes();
    GetResourceGrid();

  }
  catch ( modelErr & err )
  {
    throw( err );
  }
  catch ( modelMsg & msg )
  {
    throw( msg );
  } //non-fatal error
  catch ( ... )
  {
    modelErr stcErr;
    stcErr.iErrorCode = UNKNOWN;
    stcErr.sFunction = "clResourceMortality::DoShellSetup" ;
    throw( stcErr );
  }
}