ALMaSS Rodenticide Model ODdox  1.0
LE_TypeClass Class Reference

#include <elements.h>

Public Member Functions

int BackTranslateEleTypes (TTypesOfLandscapeElement EleReference)
 
int BackTranslateVegTypes (TTypesOfVegetation VegReference)
 
TTypesOfLandscapeElement TranslateEleTypes (int EleReference)
 
TTypesOfVegetation TranslateVegTypes (int VegReference)
 
int VegTypeToCurveNum (TTypesOfVegetation VegReference)
 

Member Function Documentation

int LE_TypeClass::BackTranslateEleTypes ( TTypesOfLandscapeElement  EleReference)

Referenced by ActivePit::ActivePit(), AmenityGrass::AmenityGrass(), Landscape::BackTranslateEleTypes(), BareRock::BareRock(), BeetleBank::BeetleBank(), Landscape::BeetleBankAdd(), Building::Building(), BuiltUpWithParkland::BuiltUpWithParkland(), Carpark::Carpark(), ChameleonLE::ChameleonLE(), Churchyard::Churchyard(), Coast::Coast(), ConiferousForest::ConiferousForest(), Copse::Copse(), DeciduousForest::DeciduousForest(), Field::Field(), FieldBoundary::FieldBoundary(), FishFarm::FishFarm(), Freshwater::Freshwater(), Heath::Heath(), HedgeBank::HedgeBank(), Hedges::Hedges(), HeritageSite::HeritageSite(), LargeRoad::LargeRoad(), Marsh::Marsh(), MetalledPath::MetalledPath(), MownGrass::MownGrass(), NaturalGrassDry::NaturalGrassDry(), NaturalGrassWet::NaturalGrassWet(), Orchard::Orchard(), OrchardBand::OrchardBand(), Parkland::Parkland(), PermanentSetaside::PermanentSetaside(), PermPasture::PermPasture(), PermPastureLowYield::PermPastureLowYield(), PermPastureTussocky::PermPastureTussocky(), PitDisused::PitDisused(), PlantNursery::PlantNursery(), Pond::Pond(), Pylon::Pylon(), Railway::Railway(), River::River(), RiversidePlants::RiversidePlants(), RiversideTrees::RiversideTrees(), RoadsideSlope::RoadsideSlope(), RoadsideVerge::RoadsideVerge(), Saltmarsh::Saltmarsh(), Saltwater::Saltwater(), SandDune::SandDune(), Scrub::Scrub(), SmallRoad::SmallRoad(), StoneWall::StoneWall(), Stream::Stream(), Track::Track(), UnsprayedFieldMargin::UnsprayedFieldMargin(), UrbanNoVeg::UrbanNoVeg(), UrbanPark::UrbanPark(), Vildtager::Vildtager(), Wasteland::Wasteland(), WindTurbine::WindTurbine(), and YoungForest::YoungForest().

3037  {
3038  static char error_num[ 20 ];
3039 
3040  // This returns the vegetation type (or crop type) as applicable
3041  switch ( EleReference )
3042  {
3043  case tole_Building: return 5;
3044  case tole_UrbanNoVeg: return 6;
3045  case tole_Garden: return 11;
3046  case tole_AmenityGrass: return 12;
3047  case tole_RoadsideVerge: return 13;
3048  case tole_Parkland: return 14;
3049  case tole_StoneWall: return 15;
3050  case tole_BuiltUpWithParkland: return 16;
3051  case tole_UrbanPark: return 17;
3052  case tole_Field: return 20;
3053  case tole_PermPastureTussocky: return 27;
3054  case tole_PermPastureLowYield: return 26;
3055  case tole_UnsprayedFieldMargin: return 31;
3056  case tole_PermanentSetaside: return 35;
3057  case tole_PermPasture: return 35;
3058  case tole_DeciduousForest: return 40;
3059  case tole_Copse: return 41;
3060  case tole_ConiferousForest: return 50;
3061  case tole_YoungForest: return 55;
3062  case tole_Orchard: return 56;
3063  case tole_BareRock: return 69;
3064  case tole_OrchardBand: return 57;
3065  case tole_MownGrass: return 58;
3066  case tole_MixedForest: return 60;
3067  case tole_Scrub: return 70;
3068  case tole_PitDisused: return 75;
3069  case tole_Saltwater: return 80;
3070  case tole_Freshwater: return 90;
3071  case tole_Heath: return 94;
3072  case tole_Marsh: return 95;
3073  case tole_River: return 96;
3074  case tole_RiversideTrees: return 97;
3075  case tole_RiversidePlants: return 98;
3076  case tole_Coast: return 100;
3077  case tole_SandDune: return 101;
3078  case tole_NaturalGrassDry: return 110;
3079  case tole_ActivePit: return 115;
3080  case tole_Railway: return 118;
3081  case tole_LargeRoad: return 121;
3082  case tole_SmallRoad: return 122;
3083  case tole_Track: return 123;
3084  case tole_Hedges: return 130;
3085  case tole_HedgeBank: return 140;
3086  case tole_BeetleBank: return 141;
3087  case tole_Chameleon: return 150;
3088  case tole_FieldBoundary: return 160;
3089  case tole_RoadsideSlope: return 201;
3090  case tole_MetalledPath: return 202;
3091  case tole_Carpark: return 203;
3092  case tole_Churchyard: return 204;
3093  case tole_NaturalGrassWet: return 205;
3094  case tole_Saltmarsh: return 206;
3095  case tole_Stream: return 207;
3096  case tole_HeritageSite: return 208;
3097  case tole_Wasteland: return 209;
3098  //case tole_NaturalGrassDry: return 210; This is a place holder for overdrev
3099  case tole_WindTurbine: return 211;
3100  case tole_Pylon: return 212;
3101  case tole_IndividualTree: return 213;
3102  case tole_PlantNursery: return 214;
3103  case tole_Vildtager: return 215;
3104  case tole_WoodyEnergyCrop: return 216;
3105  case tole_WoodlandMargin: return 217;
3106  case tole_PermPastureTussockyWet: return 218;
3107  case tole_Pond: return 219;
3108  case tole_FishFarm: return 220;
3109  case tole_Missing: return 2112;
3110 
3111  //case tole_Foobar: return 999;
3112  // !! type unknown - should not happen
3113  default:
3114  sprintf( error_num, "%d", EleReference );
3115  g_msg->Warn( WARN_FILE, "LE_TypeClass::BackTranslateEleTypes(): ""Unknown vegetation type:", error_num );
3116  exit( 1 );
3117  }
3118 }
int LE_TypeClass::BackTranslateVegTypes ( TTypesOfVegetation  VegReference)

Referenced by Landscape::BackTranslateVegTypes().

2859  {
2860  char error_num[ 20 ];
2861 
2862  // This returns the vegetation type (or crop type) as applicable
2863  switch ( VegReference ) {
2864  case tov_SpringBarley:
2865  return 1;
2866  case tov_WinterBarley:
2867  return 2;
2868  case tov_SpringWheat:
2869  return 3;
2870  case tov_WinterWheat:
2871  return 4;
2872  case tov_WinterRye:
2873  return 5;
2874  case tov_Oats:
2875  return 6;
2876  case tov_Triticale:
2877  return 7;
2878  case tov_Maize:
2879  return 8;
2880  case tov_SpringBarleySeed:
2881  return 13;
2882  case tov_SpringBarleyStrigling:
2883  return 14;
2884  case tov_SpringBarleyStriglingSingle:
2885  return 15;
2886  case tov_SpringBarleyStriglingCulm:
2887  return 16;
2888  case tov_WinterWheatStrigling:
2889  return 17;
2890  case tov_WinterWheatStriglingSingle:
2891  return 18;
2892  case tov_WinterWheatStriglingCulm:
2893  return 19;
2894  case tov_SpringRape:
2895  return 21;
2896  case tov_WinterRape:
2897  return 22;
2898  case tov_FieldPeas:
2899  return 30;
2900  case tov_FieldPeasSilage:
2901  return 31;
2902  case tov_BroadBeans:
2903  return 32;
2904  case tov_Setaside:
2905  return 50;
2906  case tov_PermanentSetaside:
2907  return 54;
2908  case tov_YoungForest:
2909  return 55;
2910  case tov_FodderBeet:
2911  return 60;
2912  case tov_SugarBeet:
2913  return 61;
2914  case tov_CloverGrassGrazed1:
2915  return 65;
2916  case tov_PotatoesIndustry:
2917  return 92;
2918  case tov_Potatoes:
2919  return 93;
2920  case tov_SeedGrass1:
2921  return 94;
2922  case tov_OWinterBarley:
2923  return 102;
2924  case tov_OWinterBarleyExt:
2925  return 611;
2926  case tov_OWinterRye:
2927  return 105;
2928  case tov_SpringBarleyGrass:
2929  return 107;
2930  case tov_SpringBarleyCloverGrass:
2931  return 108;
2932  case tov_SpringBarleySpr:
2933  return 109;
2934  case tov_OSBarleySilage:
2935  return 103;
2936  case tov_OBarleyPeaCloverGrass:
2937  return 113;
2938  case tov_SpringBarleyPeaCloverGrassStrigling:
2939  return 114;
2940  case tov_SpringBarleySilage:
2941  return 115;
2942  case tov_OWinterRape:
2943  return 122;
2944  case tov_PermanentGrassGrazed:
2945  return 140;
2946  case tov_PermanentGrassLowYield:
2947  return 141;
2948  case tov_PermanentGrassTussocky:
2949  return 142;
2950  case tov_CloverGrassGrazed2:
2951  return 165;
2952  case tov_SeedGrass2:
2953  return 194;
2954  case tov_OSpringBarley:
2955  return 201;
2956  case tov_OWinterWheatUndersown:
2957  return 204;
2958  case tov_OWinterWheat:
2959  return 205;
2960  case tov_OOats:
2961  return 206;
2962  case tov_OTriticale:
2963  return 207;
2964  case tov_OFieldPeas:
2965  return 230;
2966  case tov_OFieldPeasSilage:
2967  return 106;
2968  case tov_OFodderBeet:
2969  return 260;
2970  case tov_OCloverGrassGrazed1:
2971  return 265;
2972  case tov_OCarrots:
2973  return 270;
2974  case tov_Carrots:
2975  return 271;
2976  case tov_OPotatoes:
2977  return 293;
2978  case tov_OSeedGrass1:
2979  return 294;
2980  case tov_OSpringBarleyPigs:
2981  return 306;
2982  case tov_OSpringBarleyGrass:
2983  return 307;
2984  case tov_OSpringBarleyClover:
2985  return 308;
2986  case tov_OPermanentGrassGrazed:
2987  return 340;
2988  case tov_OCloverGrassGrazed2:
2989  return 365;
2990  case tov_OCloverGrassSilage1:
2991  return 366;
2992  case tov_OSeedGrass2:
2993  return 394;
2994  case tov_NaturalGrass:
2995  return 400;
2996  case tov_None:
2997  return 401;
2998  case tov_NoGrowth:
2999  return 402;
3000  case tov_WWheatPControl:
3001  return 601;
3002  case tov_WWheatPToxicControl:
3003  return 602;
3004  case tov_WWheatPTreatment:
3005  return 603;
3006  case tov_AgroChemIndustryCereal:
3007  return 604;
3008  case tov_WinterWheatShort:
3009  return 605;
3010  case tov_MaizeSilage:
3011  return 606;
3012  case tov_FodderGrass:
3013  return 607;
3014  case tov_SpringBarleyPTreatment:
3015  return 608;
3016  case tov_OSpringBarleyExt:
3017  return 609;
3018  case tov_OMaizeSilage:
3019  return 610;
3020  case tov_SpringBarleySKManagement:
3021  return 612;
3022  case tov_Heath:
3023  return 613;
3024  case tov_OrchardCrop:
3025  return 700;
3026  case tov_Undefined:
3027  return 999;
3028  default: // No matching code so we need an error message of some kind
3029  sprintf( error_num, "%d", VegReference );
3030  g_msg->Warn( WARN_FILE, "LE_TypeClass::BackTranslateVegTypes(): ""Unknown vegetation type:", error_num );
3031  exit( 1 );
3032  }
3033 }
TTypesOfLandscapeElement LE_TypeClass::TranslateEleTypes ( int  EleReference)

Referenced by Landscape::ReadPolys2(), and Landscape::TranslateEleTypes().

2592  {
2593  static char error_num[ 20 ];
2594 
2595  // This returns the vegetation type (or crop type) as applicable
2596  switch ( EleReference ) {
2597  case 5: return tole_Building;
2598  case 6:
2599  case 8: // Rural residential
2600  case 10: return tole_UrbanNoVeg;
2601  case 11: return tole_Garden;
2602  case 12: return tole_AmenityGrass;
2603  case 13: return tole_RoadsideVerge;
2604  case 14: return tole_Parkland;
2605  case 15: return tole_StoneWall;
2606  case 16: return tole_BuiltUpWithParkland;
2607  case 17: return tole_UrbanPark;
2608  case 20: return tole_Field;
2609  case 26: return tole_PermPastureLowYield;
2610  case 27: return tole_PermPastureTussocky;
2611  case 30: return tole_Field;
2612  case 31: return tole_UnsprayedFieldMargin;
2613  case 33: return tole_PermanentSetaside;
2614  case 35: return tole_PermPasture;
2615  case 40: return tole_DeciduousForest;
2616  case 41: return tole_Copse;
2617  case 50: return tole_ConiferousForest;
2618  case 55: return tole_YoungForest;
2619  case 56: return tole_Orchard;
2620  case 57: return tole_OrchardBand;
2621  case 58: return tole_MownGrass;
2622  case 69: return tole_BareRock;
2623  case 60: return tole_MixedForest;
2624  case 70: return tole_Scrub;
2625  case 71: return tole_PlantNursery;
2626  case 75: return tole_PitDisused;
2627  case 80: return tole_Saltwater;
2628  case 90: return tole_Freshwater;
2629  case 94: return tole_Heath;
2630  case 95: return tole_Marsh;
2631  case 99:// This is stream less than 2m
2632  case 96: return tole_River;
2633  case 97: return tole_RiversideTrees;
2634  case 98: return tole_RiversidePlants;
2635  case 100: return tole_Coast;
2636  case 101: return tole_SandDune;
2637  case 110: return tole_NaturalGrassDry;
2638  case 115: return tole_ActivePit;
2639  case 118: return tole_Railway;
2640  case 120:
2641  case 121: return tole_LargeRoad;
2642  case 122: return tole_SmallRoad;
2643  case 123: return tole_Track;
2644  case 130: return tole_Hedges;
2645  case 140: return tole_HedgeBank;
2646  case 141: return tole_BeetleBank;
2647  case 150: return tole_Chameleon;
2648  case 160: return tole_FieldBoundary;
2649  case 201: return tole_RoadsideSlope;
2650  case 202: return tole_MetalledPath;
2651  case 203: return tole_Carpark;
2652  case 204: return tole_Churchyard;
2653  case 205: return tole_NaturalGrassWet;
2654  case 206: return tole_Saltmarsh;
2655  case 207: return tole_Stream;
2656  case 208: return tole_HeritageSite;
2657  case 209: return tole_Wasteland;
2658  case 210: return tole_NaturalGrassDry;
2659  case 211: return tole_WindTurbine;
2660  case 212: return tole_IndividualTree; // TODO This is a windmill
2661  case 214: return tole_PlantNursery;
2662  case 213: return tole_IndividualTree;
2663  case 215: return tole_Vildtager;
2664  case 216: return tole_WoodyEnergyCrop;
2665  case 217: return tole_WoodlandMargin;
2666  case 218: return tole_PermPastureTussockyWet;
2667  case 219: return tole_Pond;
2668  case 220: return tole_FishFarm;
2669  case 6000:
2670  case 2112:
2671  case 2300:
2672  case 2430: return tole_Missing;
2673 
2674  // case 999: return tole_Foobar;
2675  // !! type unknown - should not happen
2676  default:
2677  sprintf( error_num, "%d", EleReference );
2678  g_msg->Warn( WARN_FILE, "LE_TypeClass::TranslateEleTypes(): ""Unknown landscape element type:", error_num );
2679  exit( 1 );
2680  }
2681 }
TTypesOfVegetation LE_TypeClass::TranslateVegTypes ( int  VegReference)

Referenced by Landscape::TranslateVegTypes().

2687  {
2688  char error_num[ 20 ];
2689 
2690  // This returns the vegetation type (or crop type) as applicable
2691  switch ( VegReference ) {
2692  case 1:
2693  return tov_SpringBarley;
2694  case 2:
2695  return tov_WinterBarley;
2696  case 3:
2697  return tov_SpringWheat;
2698  case 4:
2699  return tov_WinterWheat;
2700  case 5:
2701  return tov_WinterRye;
2702  case 6:
2703  return tov_Oats;
2704  case 7:
2705  return tov_Triticale;
2706  case 8:
2707  return tov_Maize;
2708  case 13:
2709  return tov_SpringBarleySeed;
2710  case 14: return tov_SpringBarleyStrigling;
2711  case 15: return tov_SpringBarleyStriglingSingle;
2712  case 16: return tov_SpringBarleyStriglingCulm;
2713  case 17: return tov_WinterWheatStrigling;
2714  case 18: return tov_WinterWheatStriglingSingle;
2715  case 19: return tov_WinterWheatStriglingCulm;
2716  case 21:
2717  return tov_SpringRape;
2718  case 22:
2719  return tov_WinterRape;
2720  case 30:
2721  return tov_FieldPeas;
2722  case 31:
2723  return tov_FieldPeasSilage; //ok?
2724  case 32:
2725  return tov_BroadBeans;
2726  case 50:
2727  return tov_Setaside;
2728  case 54:
2729  return tov_PermanentSetaside;
2730  case 55:
2731  return tov_YoungForest;
2732  case 60:
2733  return tov_FodderBeet;
2734  case 61:
2735  return tov_SugarBeet;
2736  case 65:
2737  return tov_CloverGrassGrazed1;
2738  case 92:
2739  return tov_PotatoesIndustry;
2740  case 93:
2741  return tov_Potatoes;
2742  case 94:
2743  return tov_SeedGrass1;
2744  case 102:
2745  return tov_OWinterBarley;
2746  case 611:
2747  return tov_OWinterBarleyExt;
2748  case 103:
2749  return tov_OSBarleySilage;
2750  case 105:
2751  return tov_OWinterRye;
2752  case 106:
2753  return tov_OFieldPeasSilage;
2754  case 107:
2755  return tov_SpringBarleyGrass;
2756  case 108:
2757  return tov_SpringBarleyCloverGrass;
2758  case 109:
2759  return tov_SpringBarleySpr;
2760  case 113:
2761  return tov_OBarleyPeaCloverGrass;
2762  case 114:
2763  return tov_SpringBarleyPeaCloverGrassStrigling;
2764  case 115:
2765  return tov_SpringBarleySilage;
2766  case 122:
2767  return tov_OWinterRape;
2768  case 140:
2769  return tov_PermanentGrassGrazed;
2770  case 141:
2771  return tov_PermanentGrassLowYield;
2772  case 142:
2773  return tov_PermanentGrassTussocky;
2774  case 165:
2775  return tov_CloverGrassGrazed2;
2776  case 194:
2777  return tov_SeedGrass2;
2778  case 201:
2779  return tov_OSpringBarley;
2780  case 204:
2781  return tov_OWinterWheatUndersown;
2782  case 205:
2783  return tov_OWinterWheat;
2784  case 206:
2785  return tov_OOats;
2786  case 207:
2787  return tov_OTriticale;
2788  case 230:
2789  return tov_OFieldPeas;
2790  case 26:
2791  return tov_OFodderBeet;
2792  case 265:
2793  return tov_OCloverGrassGrazed1;
2794  case 270:
2795  return tov_OCarrots;
2796  case 271:
2797  return tov_Carrots;
2798  case 273:
2799  return tov_OGrazingPigs;
2800  case 293:
2801  return tov_OPotatoes;
2802  case 294:
2803  return tov_OSeedGrass1;
2804  case 306:
2805  return tov_OSpringBarleyPigs;
2806  case 307:
2807  return tov_OSpringBarleyGrass;
2808  case 308:
2809  return tov_OSpringBarleyClover;
2810  case 340:
2811  return tov_OPermanentGrassGrazed;
2812  case 365:
2813  return tov_OCloverGrassGrazed2;
2814  case 366:
2815  return tov_OCloverGrassSilage1;
2816  case 394:
2817  return tov_OSeedGrass2;
2818  case 400:
2819  return tov_NaturalGrass;
2820  case 401:
2821  return tov_None;
2822  case 601:
2823  return tov_WWheatPControl;
2824  case 602:
2825  return tov_WWheatPToxicControl;
2826  case 603:
2827  return tov_WWheatPTreatment;
2828  case 604:
2829  return tov_AgroChemIndustryCereal;
2830  case 605:
2831  return tov_WinterWheatShort;
2832  case 606:
2833  return tov_MaizeSilage;
2834  case 607:
2835  return tov_FodderGrass;
2836  case 608:
2837  return tov_SpringBarleyPTreatment;
2838  case 609:
2839  return tov_OSpringBarleyExt;
2840  case 610:
2841  return tov_OMaizeSilage;
2842  case 612:
2843  return tov_SpringBarleySKManagement;
2844  case 613:
2845  return tov_Heath;
2846  case 700:
2847  return tov_OrchardCrop;
2848  case 999:
2849  return tov_Undefined;
2850  default: // No matching code so we need an error message of some kind
2851  sprintf( error_num, "%d", VegReference );
2852  g_msg->Warn( WARN_FILE, "LE_TypeClass::TranslateVegTypes(): ""Unknown vegetation type:", error_num );
2853  exit( 1 );
2854  }
2855 }
int LE_TypeClass::VegTypeToCurveNum ( TTypesOfVegetation  VegReference)

The documentation for this class was generated from the following files: