/***********cutting plane filter************/ /* filters atoms based on their z-coordinate * z1 and z2 are the filter limits and are provided * through filter_data */ char *parameter_filter_good_simple_bond = "{\ int nInputAtomCount;\ int nOutputAtomCount;\ int nInputBondCount;\ int nOutputBondCount;\ float z1;\ float z2;\ nInputAtomCount=0;\ nOutputAtomCount=0;\ nInputBondCount=0;\ nOutputBondCount=0;\ output.otimestamp=input.timestamp;\ output.onatoms=input.natoms;\ output.ona3=input.na3;\ output.onb=input.nb;\ output.obw=input.bw;\ output.ominz=input.minz;\ output.omaxz=input.maxz;\ z1=filter_data.z1;\ z2=filter_data.z2;\ printf(\"z1: %f, z2: %f, factor: %f, onb: %d\\n\",z1, z2, filter_data.factor, output.onb);\ for(; nInputAtomCountz1 )\ {\ output.oitype[nOutputAtomCount]=input.itype[nInputAtomCount];\ output.oxatoms[nOutputAtomCount*3]=input.xatoms[nInputAtomCount*3];\ output.oxatoms[nOutputAtomCount*3+1]=input.xatoms[nInputAtomCount*3+1];\ output.oxatoms[nOutputAtomCount*3+2]=input.xatoms[nInputAtomCount*3+2];\ nOutputAtomCount=nOutputAtomCount+1;}\ nInputAtomCount=nInputAtomCount+1;\ }\ output.onatoms=nOutputAtomCount;\ return 1;\ }\0\0"; /************/