
#
# Title: wrapper_FEModels
#
# *wrapper_FEModels.py*
#
# Wrapper functions for a SIMO ModelLibrary. Acts as an Python/C DLL calling 
# interface between SIMO Simulator and the model library.
#
# All models are called with a regular function call, which includes the model
# input parameter(s), number of result variables, memory block which is used
# for passing result variables, warning and error memory blocks, error check
# mode, allowed risk level and rectification factor.
# 
# The models are not documented here in detail, as model.xml file is used
# for that purpose.
#
# Wrapper generated automatically Mon Oct 18 08:14:05 2010
#
# Imports
from ctypes import *

# Wrappers for the C functions:
#---------------------------------------------------------------------------
def Regeneration_dgm_limit_FE(arg, libc, i):
	return libc.Regeneration_dgm_limit_FE(
		arg.variables[i][0], arg.variables[i][1], arg.parameters[0], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)

def Development_class_FE_JKK(arg, libc, i):
	return libc.Development_class_FE_JKK(
		arg.variables[i][0], arg.variables[i][1], arg.variables[i][2], 
		arg.variables[i][3], arg.variables[i][4], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)

def Diameter_distribution_FE_JKK(arg, libc, i):
	return libc.Diameter_distribution_FE_JKK(
		arg.variables[i][0], arg.variables[i][1], arg.variables[i][2], 
		arg.variables[i][3], arg.variables[i][4], arg.variables[i][5], 
		arg.variables[i][6], arg.variables[i][7], arg.variables[i][8], 
		arg.variables[i][9], arg.variables[i][10], arg.variables[i][11], 
		arg.variables[i][12], arg.variables[i][13], arg.variables[i][14], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)

def Diameter_distribution_only_N_measured_FE_JKK(arg, libc, i):
	return libc.Diameter_distribution_only_N_measured_FE_JKK(
		arg.variables[i][0], arg.variables[i][1], arg.variables[i][2], 
		arg.variables[i][3], arg.variables[i][4], arg.variables[i][5], 
		arg.variables[i][6], arg.variables[i][7], arg.variables[i][8], 
		arg.variables[i][9], arg.variables[i][10], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)

def Value_growth_FE_JKK(arg, libc, i):
	return libc.Value_growth_FE_JKK(
		arg.variables[i][0], arg.variables[i][1], arg.variables[i][2], 
		arg.variables[i][3], arg.variables[i][4], arg.variables[i][5], 
		arg.variables[i][6], arg.variables[i][7], arg.variables[i][8], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)

def Thinning_limits_FE_JKK(arg, libc, i):
	return libc.Thinning_limits_FE_JKK(
		arg.variables[i][0], arg.variables[i][1], arg.variables[i][2], 
		arg.variables[i][3], arg.variables[i][4], arg.variables[i][5], 
		arg.variables[i][6], arg.variables[i][7], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)

def Biomass_tree_FE_JKK(arg, libc, i):
	return libc.Biomass_tree_FE_JKK(
		arg.variables[i][0], arg.variables[i][1], arg.variables[i][2], 
		arg.variables[i][3], arg.variables[i][4], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)

def Orig_Thinning_limits_FE_JKK(arg, libc, i):
	return libc.Orig_Thinning_limits_FE_JKK(
		arg.variables[i][0], arg.variables[i][1], arg.variables[i][2], 
		arg.variables[i][3], arg.variables[i][4], arg.variables[i][5], 
		arg.variables[i][6], arg.variables[i][7], 
		byref(arg.num_of_res_objs[i]), arg.mem[i], byref(arg.errors[i]),
		arg.error_check_mode, arg.allowed_risk_level, arg.rect_factor)
