Molconn-Z 4.00 Manual: Toolkit Programmers Guide

eduSoft LC Toolkit Programmers' Guide

Registration of Objects

All primary objects in the toolkit must be registered to ensure that they exist and that the datablock associated with the object is valid.

Header File

core.h

Molecule Objects

eslc_molecule_register
Add a molecule handle to the registration list of valid molecules.

form

int eslc_molecule_register ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_deregister
Remove a molecule handle from the registration list of valid molecules.

form

int eslc_molecule_deregister ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_molecule_registered
Check the status of a molecule handle to verify it is registered.

form

int eslc_is_molecule_registered ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:molecule is registered
FALSE:molecule is not registered

Grid Box Objects

eslc_grid_box_register
Add a grid box handle to the registration list of valid grid boxes.

form

int eslc_grid_box_register ( ehandle grid_box_handle )
input
grid_box_handle
output
none
return
TRUE:success
FALSE:failure

eslc_grid_box_deregister
Remove a grid box handle from the registration list of valid grid boxes.

form

int eslc_grid_box_deregister ( ehandle grid_box_handle )
input
grid_box_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_grid_box_registered
Check the status of a grid box handle to verify it is registered.

form

int eslc_is_grid_box_registered ( ehandle grid_box_handle )
input
grid_box_handle
output
none
return
TRUE:grid box is registered
FALSE:grid box is not registered

Grid Map Objects

eslc_grid_map_register
Add a grid map handle to the registration list of valid grid maps.

form

int eslc_grid_map_register ( ehandle grid_map_handle )
input
grid_map_handle
output
none
return
TRUE:success
FALSE:failure

eslc_grid_map_deregister
Remove a grid map handle from the registration list of valid grid maps.

form

int eslc_grid_map_deregister ( ehandle grid_map_handle )
input
grid_map_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_grid_map_registered
Check the status of a grid map handle to verify it is registered.

form

int eslc_is_grid_map_registered ( ehandle grid_map_handle )
input
grid_map_handle
output
none
return
TRUE:grid map is registered
FALSE:grid map is not registered

HINT Objects

eslc_hint_register
Add a handle for hint data to the registration list of valid hint objects

form

int eslc_hint_register ( ehandle hint_handle )
input
hint_handle
output
none
return
TRUE:success
FALSE:failure

eslc_hint_deregister
Remove a handle for hint data from the registration list of valid hint objects

form

int eslc_hint_deregister ( ehandle hint_handle )
input
hint_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_hint_registered
Check the status of a hint handle to verify it is registered.

form

int eslc_is_hint_registered ( ehandle hint_handle )
input
hint_handle
output
none
return
TRUE:hint is registered
FALSE:hint is not registered

HINT Grid Objects

eslc_hint_grid_register
Add a handle for hint grid data to the registration list of valid hint grid objects

form

int eslc_hint_grid_register ( ehandle hint_grid_handle )
input
hint_grid_handle
output
none
return
TRUE:success
FALSE:failure

eslc_hint_grid_deregister
Remove a handle for hint grid data from the registration list of valid hint grid objects

form

int eslc_hint_grid_deregister ( ehandle hint_grid_handle )
input
hint_grid_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_hint_grid_registered
Check the status of a hint grid handle to verify it is registered.

form

int eslc_is_hint_grid_registered ( ehandle hint_grid_handle )
input
hint_grid_handle
output
none
return
TRUE:hint grid is registered
FALSE:hint grid is not registered

HINT Score Objects

eslc_hint_score_register
Add a handle for hint score data to the registration list of valid hint score objects

form

int eslc_hint_score_register ( ehandle hint_score_handle )
input
hint_score_handle
output
none
return
TRUE:success
FALSE:failure

eslc_hint_score_deregister
Remove a handle for hint score data from the registration list of valid hint score objects

form

int eslc_hint_score_deregister ( ehandle hint_score_handle )
input
hint_score_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_hint_score_registered
Check the status of a hint score handle to verify it is registered.

form

int eslc_is_hint_score_registered ( ehandle hint_score_handle )
input
hint_score_handle
output
none
return
TRUE:hint score is registered
FALSE:hint score is not registered

Molconn-Z Objects

eslc_molconnz_register
Add a handle for molconnz data to the registration list of valid molconnz objects

form

int eslc_molconnz_register ( ehandle molconnz_handle )
input
molconnz_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molconnz_deregister
Remove a handle for molconnz data from the registration list of valid molconnz objects

form

int eslc_molconnz_deregister ( ehandle molconnz_handle )
input
molconnz_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_molconnz_registered
Check the status of a molconnz handle to verify it is registered.

form

int eslc_is_molconnz_registered ( ehandle molconnz_handle )
input
molconnz_handle
output
none
return
TRUE:molconnz is registered
FALSE:molconnz is not registered

Molconn-Z Grid Objects

eslc_molconnz_grid_register
Add a handle for molconnz grid data to the registration list of valid molconnz grid objects

form

int eslc_molconnz_grid_register ( ehandle molconnz_grid_handle )
input
molconnz_grid_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molconnz_grid_deregister
Remove a handle for molconnz grid data from the registration list of valid molconnz grid objects

form

int eslc_molconnz_grid_deregister ( ehandle molconnz_grid_handle )
input
molconnz_grid_handle
output
none
return
TRUE:success
FALSE:failure

eslc_is_molconnz_grid_registered
Check the status of a molconnz grid handle to verify it is registered.

form

int eslc_is_molconnz_grid_registered ( ehandle molconnz_grid_handle )
input
molconnz_grid_handle
output
none
return
TRUE:molconnz grid is registered
FALSE:molconnz grid is not registered

Toolkit Core

Core Methods

eslc_set_globalwarninglevel_on
Set the condition that all toolkit warnings will be displayed.

form

void eslc_set_globalwarninglevel_on ( )
input
none
output
none
return
none

eslc_set_globalwarninglevel_off
Set the condition that no toolkit warnings will be displayed.

form

void eslc_set_globalwarninglevel_off ( )
input
none
output
none
return
none

eslc_get_globalwarninglevel
Get the current status of the globalwarning level flag (TRUE, FALSE).

form

void eslc_get_globalwarninglevel ( int *warninglevel )
input
none
output
warninglevel
return
none

eslc_ehandle_list_find_intersection
Find the common items that appear in both list1 and list2, and put them in intersectionlist.

form

int eslc_ehandle_list_find_intersection ( int count1, ehandle *list1, int count2, ehandle *list2, ehandle *intersectionlist )
input
count1
list1
count2
list2
output
intersectionlist
return
intersectioncount

eslc_ehandle_list_find_union
Merge list1 and list2 into one unionlist (where no items are repeated).

form

int eslc_ehandle_list_find_union ( int count1, ehandle *list1, int count2, ehandle *list2, ehandle *unionlist )
input
count1
list1
count2
list2
output
unionlist
return
unioncount

eslc_ehandle_list_find_difference
Find the items that do not appear in both list1 and list2, and put them in a differencelist.

form

int eslc_ehandle_list_find_difference ( int count1, ehandle *list1, int count2, ehandle *list2, ehandle *differencelist )
input
count1
list1
count2
list2
output
differencelist
return
differencecount

eslc_intlist_find_intersection
Find the common items that appear in both list1 and list2, and put them in an intersectionlist.

form

int eslc_intlist_find_intersection ( int count1, int *list1, int count2, int *list2, int *intersectionlist )
input
count1
list1
count2
list2
output
intersectionlist
return
intersectioncount

eslc_intlist_find_union
Merge list1 and list2 into one unionlist (where no items are repeated).

form

int eslc_intlist_find_union ( int count1, int *list1, int count2, int *list2, int *unionlist )
input
count1
list1
count2
list2
output
unionlist
return
unioncount

eslc_intlist_find_difference
Find the items that do not appear in both list1 and list2, and put them in a differencelist.

form

int eslc_intlist_find_difference ( int count1, int *list1, int count2, int *list2, int *differencelist )
input
count1
list1
count2
list2
output
differencelist
return
differencecount

eslc_intlist_remove_item
Remove a single specified item from the list.

form

int eslc_intlist_remove_item ( int count, int *list, int item )
input
count
list
item
output
none
return
newcount

eslc_intlist_sort_ascending
Sort the integer list in ascending order.

form

void eslc_intlist_sort_ascending ( int listlength, int *list )
input
listlength
list
output
none
return
none

eslc_intlist_sort_descending
Sort the integer list in descending order.

form

void eslc_intlist_sort_descending ( int listlength, int *list )
input
listlength
list
output
none
return
none

eslc_floatlist_sort_ascending
Sort the floating point list in ascending order.

form

void eslc_floatlist_sort_ascending ( int listlength, float *list )
input
listlength
list
output
none
return
none

eslc_floatlist_sort_descending
Sort the floating point list in descending order.

form

void eslc_floatlist_sort_descending ( int listlength, float *list )
input
listlength
list
output
none
return
none

eslc_floatlist_sort_ascending_with_indexlist
Sort the floating point list and its index in ascending order with an index list that indexes the old order to the new order.

form

void eslc_floatlist_sort_ascending_with_indexlist ( int listlength, float *list, int *indexlist )
input
listlength
list
indexlist
output
none
return
none

eslc_floatlist_sort_descending_with_indexlist
Sort the floating point list and its index in descending order ith an index list that indexes the old order to the new order.

form

void eslc_floatlist_sort_descending_with_indexlist ( int listlength, float *list, int *indexlist )
input
listlength
list
indexlist
output
none
return
none

eslc_calculate_binpegcombinationcount
Calculate the number of combinations of bins and pegs. Each bin is capable of holding one peg. For example, if there are two bins and one peg, there are two unique ways the peg can be placed; if there are three bins and two pegs, there are three uniqe ways the pegs can be placed, etc.

form

int eslc_calculate_binpegcombinationcount ( int bins, int pegs )
input
bins
pegs
output
none
return
count:success

FALSE:failure

eslc_enumerate_binpegcombinations
Explicitly enumerate the bin and peg combinations into a TRUE/FALSE array that is of dimension: bins * combinationcount (see eslc_calculate_binpegcombinationcount). The state of a specific bin (j) in a specific combination (row) is given by: combinations[(row*bins)+j].

form

int eslc_enumerate_binpegcombinations ( int bins, int pegs, int *combinations )
input
bins
pegs
output
combinations
return
count:success

FALSE:failure