ObjectMolecule.h (pymol-open-source-2.2.0) | : | ObjectMolecule.h (pymol-open-source-2.3.0) | ||
---|---|---|---|---|
/** | ||||
* @file | ||||
*/ | ||||
/* | /* | |||
A* ------------------------------------------------------------------- | A* ------------------------------------------------------------------- | |||
B* This file contains source code for the PyMOL computer program | B* This file contains source code for the PyMOL computer program | |||
C* copyright 1998-2000 by Warren Lyford Delano of DeLano Scientific. | C* copyright 1998-2000 by Warren Lyford Delano of DeLano Scientific. | |||
D* ------------------------------------------------------------------- | D* ------------------------------------------------------------------- | |||
E* It is unlawful to modify or remove this copyright notice. | E* It is unlawful to modify or remove this copyright notice. | |||
F* ------------------------------------------------------------------- | F* ------------------------------------------------------------------- | |||
G* Please see the accompanying LICENSE file for further information. | G* Please see the accompanying LICENSE file for further information. | |||
H* ------------------------------------------------------------------- | H* ------------------------------------------------------------------- | |||
I* Additional authors of this source file include: | I* Additional authors of this source file include: | |||
skipping to change at line 30 | skipping to change at line 32 | |||
#include"os_python.h" | #include"os_python.h" | |||
#include"PyMOLObject.h" | #include"PyMOLObject.h" | |||
#include"AtomInfo.h" | #include"AtomInfo.h" | |||
#include"Vector.h" | #include"Vector.h" | |||
#include"Color.h" | #include"Color.h" | |||
#include"Symmetry.h" | #include"Symmetry.h" | |||
#include"DistSet.h" | #include"DistSet.h" | |||
#include "Executive_pre.h" | #include "Executive_pre.h" | |||
#include "CifFile.h" | #include "CifFile.h" | |||
#include "vla.h" | ||||
#include <memory> | #include <memory> | |||
#ifdef _WEBGL | #ifdef _WEBGL | |||
#endif | #endif | |||
#define cKeywordAll "all" | #define cKeywordAll "all" | |||
#define cKeywordNone "none" | #define cKeywordNone "none" | |||
#define cKeywordSame "same" | #define cKeywordSame "same" | |||
#define cKeywordCenter "center" | #define cKeywordCenter "center" | |||
skipping to change at line 64 | skipping to change at line 67 | |||
/* base Object class */ | /* base Object class */ | |||
CObject Obj; | CObject Obj; | |||
/* array of pointers to coordinate sets; one set per state */ | /* array of pointers to coordinate sets; one set per state */ | |||
struct CoordSet **CSet; | struct CoordSet **CSet; | |||
/* number of coordinate sets */ | /* number of coordinate sets */ | |||
int NCSet; | int NCSet; | |||
struct CoordSet *CSTmpl; /* template for trajectories, etc. */ | struct CoordSet *CSTmpl; /* template for trajectories, etc. */ | |||
/* array of bonds */ | /* array of bonds */ | |||
BondType *Bond; | BondType *Bond; | |||
/* array of atoms (infos) */ | /* array of atoms (infos) */ | |||
AtomInfoType *AtomInfo; | pymol::vla<AtomInfoType> AtomInfo; | |||
/* number of atoms and bonds */ | /* number of atoms and bonds */ | |||
int NAtom, prevNAtom; | int NAtom, prevNAtom; | |||
int NBond, prevNBond; | int NBond, prevNBond; | |||
/* is this object loaded as a discrete object? if so, number of states */ | /* is this object loaded as a discrete object? if so, number of states */ | |||
int DiscreteFlag; | int DiscreteFlag; | |||
int *DiscreteAtmToIdx; | int *DiscreteAtmToIdx; | |||
struct CoordSet **DiscreteCSet; | struct CoordSet **DiscreteCSet; | |||
/* proposed, for storing uniform trajectory data more efficiently: | /* proposed, for storing uniform trajectory data more efficiently: | |||
int *UniformAtmToIdx, *UniformIdxToAtm; */ | int *UniformAtmToIdx, *UniformIdxToAtm; */ | |||
int CurCSet; /* Current state number */ | int CurCSet; /* Current state number */ | |||
skipping to change at line 91 | skipping to change at line 94 | |||
int UndoIter; | int UndoIter; | |||
CGO *UnitCellCGO; | CGO *UnitCellCGO; | |||
int BondCounter; | int BondCounter; | |||
int AtomCounter; | int AtomCounter; | |||
/* not stored */ | /* not stored */ | |||
struct CSculpt *Sculpt; | struct CSculpt *Sculpt; | |||
int RepVisCacheValid; | int RepVisCacheValid; | |||
int RepVisCache; /* for transient storage during updates */ | int RepVisCache; /* for transient storage during updates */ | |||
// for reporting available assembly ids after mmCIF loading - SUBJECT TO CHANG E | // for reporting available assembly ids after mmCIF loading - SUBJECT TO CHANG E | |||
#ifndef _PYMOL_NO_CXX11 | ||||
std::shared_ptr<cif_file> m_ciffile; | std::shared_ptr<cif_file> m_ciffile; | |||
#endif | ||||
const cif_data * m_cifdata; | const cif_data * m_cifdata; | |||
// hetatm and ignore-flag by non-polymer classification | // hetatm and ignore-flag by non-polymer classification | |||
bool need_hetatm_classification; | bool need_hetatm_classification; | |||
// methods | // methods | |||
int getState() const; | int getState() const; | |||
bool setNDiscrete(int natom); | bool setNDiscrete(int natom); | |||
bool updateAtmToIdx(); | bool updateAtmToIdx(); | |||
} ObjectMolecule; | } ObjectMolecule; | |||
skipping to change at line 164 | skipping to change at line 165 | |||
inline bool is_pqr_file() const { | inline bool is_pqr_file() const { | |||
return variant == PDB_VARIANT_PQR; | return variant == PDB_VARIANT_PQR; | |||
} | } | |||
} PDBInfoRec; | } PDBInfoRec; | |||
/* these four letter code are left over from an | /* these four letter code are left over from an | |||
earlier multicharacter constant implementation | earlier multicharacter constant implementation | |||
and should be replaced with something more verbose */ | and should be replaced with something more verbose */ | |||
#define OMOP_PDB1 1 | ||||
#define OMOP_AVRT 2 | #define OMOP_AVRT 2 | |||
#define OMOP_SFIT 3 | #define OMOP_SFIT 3 | |||
#define OMOP_COLR 4 | #define OMOP_COLR 4 | |||
#define OMOP_VISI 5 | #define OMOP_VISI 5 | |||
#define OMOP_TTTF 6 | #define OMOP_TTTF 6 | |||
#define OMOP_ALTR 7 | #define OMOP_ALTR 7 | |||
#define OMOP_CSOC 8 | ||||
#define OMOP_SUMC 9 | #define OMOP_SUMC 9 | |||
#define OMOP_VERT 10 | #define OMOP_VERT 10 | |||
#define OMOP_SVRT 11 | #define OMOP_SVRT 11 | |||
#define OMOP_MOME 12 | #define OMOP_MOME 12 | |||
#define OMOP_INVA 13 | #define OMOP_INVA 13 | |||
#define OMOP_MDST 14 | ||||
#define OMOP_MNMX 15 | #define OMOP_MNMX 15 | |||
#define OMOP_AlterState 16 | #define OMOP_AlterState 16 | |||
#define OMOP_Flag 17 | #define OMOP_Flag 17 | |||
#define OMOP_LABL 18 | #define OMOP_LABL 18 | |||
#define OMOP_Identify 19 | #define OMOP_Identify 19 | |||
#define OMOP_Remove 20 | #define OMOP_Remove 20 | |||
#define OMOP_Protect 21 | #define OMOP_Protect 21 | |||
#define OMOP_Mask 22 | #define OMOP_Mask 22 | |||
#define OMOP_AddHydrogens 23 | #define OMOP_AddHydrogens 23 | |||
#define OMOP_SetB 24 | #define OMOP_SetB 24 | |||
skipping to change at line 220 | skipping to change at line 218 | |||
#define OMOP_Spectrum 47 | #define OMOP_Spectrum 47 | |||
#if 0 | #if 0 | |||
#define OMOP_GetBFactors 48 | #define OMOP_GetBFactors 48 | |||
#define OMOP_GetOccupancies 49 | #define OMOP_GetOccupancies 49 | |||
#define OMOP_GetPartialCharges 50 | #define OMOP_GetPartialCharges 50 | |||
#endif | #endif | |||
#define OMOP_StateVRT 51 | #define OMOP_StateVRT 51 | |||
#define OMOP_CheckVis 52 | #define OMOP_CheckVis 52 | |||
#define OMOP_OnOff 53 | #define OMOP_OnOff 53 | |||
#define OMOP_Pop 54 | #define OMOP_Pop 54 | |||
#define OMOP_TransformR44f 55 | ||||
#define OMOP_FixHydrogens 56 | #define OMOP_FixHydrogens 56 | |||
#define OMOP_Sort 57 | #define OMOP_Sort 57 | |||
#define OMOP_SetAtomicSetting 58 | #define OMOP_SetAtomicSetting 58 | |||
#define OMOP_CSetSumSqDistToPt 59 | #define OMOP_CSetSumSqDistToPt 59 | |||
#define OMOP_RevalenceFromSource 60 | #define OMOP_RevalenceFromSource 60 | |||
#define OMOP_RevalenceByGuessing 61 | #define OMOP_RevalenceByGuessing 61 | |||
#define OMOP_ReferenceStore 62 | #define OMOP_ReferenceStore 62 | |||
#define OMOP_ReferenceRecall 63 | #define OMOP_ReferenceRecall 63 | |||
#define OMOP_ReferenceValidate 64 | #define OMOP_ReferenceValidate 64 | |||
#define OMOP_ReferenceSwap 65 | #define OMOP_ReferenceSwap 65 | |||
skipping to change at line 282 | skipping to change at line 279 | |||
M4XContextType *context; | M4XContextType *context; | |||
int xname_flag; | int xname_flag; | |||
ObjectNameType xname; | ObjectNameType xname; | |||
M4XAlignType *align; | M4XAlignType *align; | |||
} M4XAnnoType; | } M4XAnnoType; | |||
typedef struct { | typedef struct { | |||
ObjectNameType name; | ObjectNameType name; | |||
} ObjMolMultiplexType; | } ObjMolMultiplexType; | |||
/* loop iterators for the ObjectMolecule::Neighbor array | /** | |||
* loop iterators for the ObjectMolecule::Neighbor array | ||||
* | * | |||
* Arguments: (Neighbor array, const int atom-index, int neighbor-atom-or-bond-i ndex, int used-internally) | * Arguments: (Neighbor array, const int atom-index, int neighbor-atom-or-bond-i ndex, int used-internally) | |||
* | * | |||
* Example: | * Example: | |||
* // iterate over neighbors of obj->AtomInfo[at] | * @verbatim | |||
* int neighbor_at, tmp; | // iterate over neighbors of obj->AtomInfo[at] | |||
* ITERNEIGHBORATOMS(obj->Neighbor, at, neighbor_at, tmp) { | int neighbor_at, tmp; | |||
* // do something with obj->AtomInfo[neighbor_at] | ITERNEIGHBORATOMS(obj->Neighbor, at, neighbor_at, tmp) { | |||
* } | // do something with obj->AtomInfo[neighbor_at] | |||
} | ||||
@endverbatim | ||||
*/ | */ | |||
#define ITERNEIGHBORATOMS(N, a, n, i) for(i = N[a] + 1; (n = N[i]) > -1; i += 2) | #define ITERNEIGHBORATOMS(N, a, n, i) for(i = N[a] + 1; (n = N[i]) > -1; i += 2) | |||
#define ITERNEIGHBORBONDS(N, a, b, i) for(i = N[a] + 1; (b = N[i + 1]), N[i] > - 1; i += 2) | #define ITERNEIGHBORBONDS(N, a, b, i) for(i = N[a] + 1; (b = N[i + 1]), N[i] > - 1; i += 2) | |||
void M4XAnnoInit(M4XAnnoType * m4x); | void M4XAnnoInit(M4XAnnoType * m4x); | |||
void M4XAnnoPurge(M4XAnnoType * m4x); | void M4XAnnoPurge(M4XAnnoType * m4x); | |||
void M4XAlignInit(M4XAlignType * align); | void M4XAlignInit(M4XAlignType * align); | |||
void M4XAlignPurge(M4XAlignType * align); | void M4XAlignPurge(M4XAlignType * align); | |||
skipping to change at line 327 | skipping to change at line 327 | |||
int match_colors, int nbr_sele); | int match_colors, int nbr_sele); | |||
/* */ | /* */ | |||
int ObjectMoleculeAreAtomsBonded2(ObjectMolecule * obj0, int a0, ObjectMolecule * obj1, | int ObjectMoleculeAreAtomsBonded2(ObjectMolecule * obj0, int a0, ObjectMolecule * obj1, | |||
int a1); | int a1); | |||
int ObjectMoleculeIsAtomBondedToName(ObjectMolecule * obj, int a0, const char *n ame, int); | int ObjectMoleculeIsAtomBondedToName(ObjectMolecule * obj, int a0, const char *n ame, int); | |||
void ObjectMoleculeOpRecInit(ObjectMoleculeOpRec * op); | void ObjectMoleculeOpRecInit(ObjectMoleculeOpRec * op); | |||
int ObjectMoleculeNewFromPyList(PyMOLGlobals * G, PyObject * list, | int ObjectMoleculeNewFromPyList(PyMOLGlobals * G, PyObject * list, | |||
ObjectMolecule ** result); | ObjectMolecule ** result); | |||
PyObject *ObjectMoleculeAsPyList(ObjectMolecule * I); | PyObject *ObjectMoleculeAsPyList(ObjectMolecule * I); | |||
int ObjectMoleculeGetSerial(ObjectMolecule * I); | ||||
int ObjectMoleculeSetStateTitle(ObjectMolecule * I, int state, const char *text) ; | int ObjectMoleculeSetStateTitle(ObjectMolecule * I, int state, const char *text) ; | |||
const char *ObjectMoleculeGetStateTitle(ObjectMolecule * I, int state); | const char *ObjectMoleculeGetStateTitle(ObjectMolecule * I, int state); | |||
int ObjectMoleculeCheckFullStateSelection(ObjectMolecule * I, int sele, int stat e); | int ObjectMoleculeCheckFullStateSelection(ObjectMolecule * I, int sele, int stat e); | |||
void ObjectMoleculeFree(ObjectMolecule * I); /* only for friends of ObjectMol ecule */ | void ObjectMoleculeFree(ObjectMolecule * I); /* only for friends of ObjectMol ecule */ | |||
int ObjectMoleculeSetStateOrder(ObjectMolecule * I, int * order, int len); | int ObjectMoleculeSetStateOrder(ObjectMolecule * I, int * order, int len); | |||
int ObjectMoleculeAddPseudoatom(ObjectMolecule * I, int sele_index, const char * name, | int ObjectMoleculeAddPseudoatom(ObjectMolecule * I, int sele_index, const char * name, | |||
const char *resn, const char *resi, const char * chain, | const char *resn, const char *resi, const char * chain, | |||
const char *segi, const char *elem, float vdw, | const char *segi, const char *elem, float vdw, | |||
skipping to change at line 368 | skipping to change at line 367 | |||
ObjectMolecule *ObjectMoleculeLoadCoords(PyMOLGlobals * G, ObjectMolecule * I, | ObjectMolecule *ObjectMoleculeLoadCoords(PyMOLGlobals * G, ObjectMolecule * I, | |||
PyObject * coords, int frame); | PyObject * coords, int frame); | |||
ObjectMolecule *ObjectMoleculeLoadCoords(PyMOLGlobals * G, ObjectMolecule * I, | ObjectMolecule *ObjectMoleculeLoadCoords(PyMOLGlobals * G, ObjectMolecule * I, | |||
const float * coords, int coords_len, i nt frame=-1); | const float * coords, int coords_len, i nt frame=-1); | |||
ObjectMolecule *ObjectMoleculeLoadCoords(PyMOLGlobals * G, const char * name, | ObjectMolecule *ObjectMoleculeLoadCoords(PyMOLGlobals * G, const char * name, | |||
const float * coords, int coords_len, i nt frame=-1); | const float * coords, int coords_len, i nt frame=-1); | |||
ObjectMolecule *ObjectMoleculeReadStr(PyMOLGlobals * G, ObjectMolecule * I, | ObjectMolecule *ObjectMoleculeReadStr(PyMOLGlobals * G, ObjectMolecule * I, | |||
const char **next_entry, | const char **next_entry, | |||
int content_format, int frame, | cLoadType_t content_format, int frame, | |||
int discrete, int quiet, int multiplex, | int discrete, int quiet, int multiplex, | |||
char *new_name, | char *new_name, | |||
short loadpropertiesall=false, OVLexicon *l oadproplex=NULL); | short loadpropertiesall=false, OVLexicon *l oadproplex=NULL); | |||
ObjectMolecule *ObjectMoleculeReadPDBStr(PyMOLGlobals * G, ObjectMolecule * obj, | ObjectMolecule *ObjectMoleculeReadPDBStr(PyMOLGlobals * G, ObjectMolecule * obj, | |||
const char *molstr, int frame, int disc rete, | const char *molstr, int frame, int disc rete, | |||
M4XAnnoType * m4x, char *pdb_name, | M4XAnnoType * m4x, char *pdb_name, | |||
const char **next_pdb, PDBInfoRec * pdb _info, | const char **next_pdb, PDBInfoRec * pdb _info, | |||
int quiet, int *model_number); | int quiet, int *model_number); | |||
int ObjectMoleculeExtendIndices(ObjectMolecule * I, int state); | int ObjectMoleculeExtendIndices(ObjectMolecule * I, int state); | |||
void ObjectMoleculeInvalidate(ObjectMolecule * I, int rep, int level, int state) ; | void ObjectMoleculeInvalidate(ObjectMolecule * I, int rep, int level, int state) ; | |||
void ObjectMoleculeInvalidateAtomType(ObjectMolecule *I, int state); | void ObjectMoleculeInvalidateAtomType(ObjectMolecule *I, int state); | |||
void ObjectMoleculeRenderSele(ObjectMolecule * I, int curState, int sele, int vi s_only SELINDICATORARG); | void ObjectMoleculeRenderSele(ObjectMolecule * I, int curState, int sele, int vi s_only SELINDICATORARG); | |||
void ObjectMoleculeSeleOp(ObjectMolecule * I, int sele, ObjectMoleculeOpRec * op ); | void ObjectMoleculeSeleOp(ObjectMolecule * I, int sele, ObjectMoleculeOpRec * op ); | |||
struct CoordSet *ObjectMoleculeGetCoordSet(ObjectMolecule * I, int setIndex); | struct CoordSet *ObjectMoleculeGetCoordSet(ObjectMolecule * I, int setIndex); | |||
void ObjectMoleculeBlindSymMovie(ObjectMolecule * I); | int ObjectMoleculeMerge(ObjectMolecule * I, pymol::vla<AtomInfoType>&& ai, | |||
int ObjectMoleculeMerge(ObjectMolecule * I, AtomInfoType * ai, | ||||
struct CoordSet *cs, int bondSearchFlag, | struct CoordSet *cs, int bondSearchFlag, | |||
int aic_mask, int invalidate); | int aic_mask, int invalidate); | |||
void ObjectMoleculeUpdateNonbonded(ObjectMolecule * I); | void ObjectMoleculeUpdateNonbonded(ObjectMolecule * I); | |||
int ObjectMoleculeUpdateNeighbors(ObjectMolecule * I); | int ObjectMoleculeUpdateNeighbors(ObjectMolecule * I); | |||
int ObjectMoleculeMoveAtom(ObjectMolecule * I, int state, int index, float *v, i nt mode, | int ObjectMoleculeMoveAtom(ObjectMolecule * I, int state, int index, float *v, i nt mode, | |||
int log); | int log); | |||
int ObjectMoleculeMoveAtomLabel(ObjectMolecule * I, int state, int index, float *v, int log, float *diff); | int ObjectMoleculeMoveAtomLabel(ObjectMolecule * I, int state, int index, float *v, int log, float *diff); | |||
int ObjectMoleculeGetAtomVertex(ObjectMolecule * I, int state, int index, float *v); | int ObjectMoleculeGetAtomVertex(ObjectMolecule * I, int state, int index, float *v); | |||
int ObjectMoleculeGetAtomTxfVertex(ObjectMolecule * I, int state, int index, flo at *v); | int ObjectMoleculeGetAtomTxfVertex(ObjectMolecule * I, int state, int index, flo at *v); | |||
int ObjectMoleculeGetAtomIndex(ObjectMolecule * I, int sele); | int ObjectMoleculeGetAtomIndex(ObjectMolecule * I, int sele); | |||
skipping to change at line 423 | skipping to change at line 421 | |||
void ObjectMoleculeGuessValences(ObjectMolecule * I, int state, int *flag1, int *flag2, | void ObjectMoleculeGuessValences(ObjectMolecule * I, int state, int *flag1, int *flag2, | |||
int reset); | int reset); | |||
int ObjectMoleculeAddBond(ObjectMolecule * I, int sele0, int sele1, int order); | int ObjectMoleculeAddBond(ObjectMolecule * I, int sele0, int sele1, int order); | |||
int ObjectMoleculeRemoveBonds(ObjectMolecule * I, int sele1, int sele2); | int ObjectMoleculeRemoveBonds(ObjectMolecule * I, int sele1, int sele2); | |||
int ObjectMoleculeAutoDisableAtomNameWildcard(ObjectMolecule * I); | int ObjectMoleculeAutoDisableAtomNameWildcard(ObjectMolecule * I); | |||
void ObjectMoleculeSaveUndo(ObjectMolecule * I, int state, int log); | void ObjectMoleculeSaveUndo(ObjectMolecule * I, int state, int log); | |||
void ObjectMoleculeUndo(ObjectMolecule * I, int dir); | void ObjectMoleculeUndo(ObjectMolecule * I, int dir); | |||
int ObjectMoleculePrepareAtom(ObjectMolecule * I, int index, AtomInfoType * ai, bool uniquefy=true); | int ObjectMoleculePrepareAtom(ObjectMolecule * I, int index, AtomInfoType * ai, bool uniquefy=true); | |||
void ObjectMoleculeReplaceAtom(ObjectMolecule * I, int index, AtomInfoType * ai) ; | void ObjectMoleculeReplaceAtom(ObjectMolecule * I, int index, AtomInfoType&& ai) ; | |||
int ObjectMoleculePreposReplAtom(ObjectMolecule * I, int index, AtomInfoType * a i); | int ObjectMoleculePreposReplAtom(ObjectMolecule * I, int index, AtomInfoType * a i); | |||
void ObjectMoleculeCreateSpheroid(ObjectMolecule * I, int average); | void ObjectMoleculeCreateSpheroid(ObjectMolecule * I, int average); | |||
int ObjectMoleculeSetAtomVertex(ObjectMolecule * I, int state, int index, float *v); | int ObjectMoleculeSetAtomVertex(ObjectMolecule * I, int state, int index, float *v); | |||
int ObjectMoleculeVerifyChemistry(ObjectMolecule * I, int state); | int ObjectMoleculeVerifyChemistry(ObjectMolecule * I, int state); | |||
int ObjectMoleculeFindOpenValenceVector(ObjectMolecule * I, int state, | int ObjectMoleculeFindOpenValenceVector(ObjectMolecule * I, int state, | |||
int index, float *v, float *seek, | int index, float *v, float *seek, | |||
int ignore_index); | int ignore_index); | |||
int ObjectMoleculeFillOpenValences(ObjectMolecule * I, int index); | int ObjectMoleculeFillOpenValences(ObjectMolecule * I, int index); | |||
int ObjectMoleculeGetTotalAtomValence(ObjectMolecule * I, int atom); | int ObjectMoleculeGetTotalAtomValence(ObjectMolecule * I, int atom); | |||
int ObjectMoleculeAdjustBonds(ObjectMolecule * I, int sele0, int sele1, int mode , | int ObjectMoleculeAdjustBonds(ObjectMolecule * I, int sele0, int sele1, int mode , | |||
int order); | int order); | |||
int ObjectMoleculeAttach(ObjectMolecule * I, int index, AtomInfoType * nai); | int ObjectMoleculeAttach(ObjectMolecule * I, int index, | |||
pymol::vla<AtomInfoType>&& nai); | ||||
int ObjectMoleculeFuse(ObjectMolecule * I, int index0, ObjectMolecule * src, int index1, | int ObjectMoleculeFuse(ObjectMolecule * I, int index0, ObjectMolecule * src, int index1, | |||
int mode, int move_flag); | int mode, int move_flag); | |||
int ObjectMoleculeRenameAtoms(ObjectMolecule * I, int *flag, int force); | int ObjectMoleculeRenameAtoms(ObjectMolecule * I, int *flag, int force); | |||
int ObjectMoleculeAreAtomsBonded(ObjectMolecule * I, int i0, int i1); | int ObjectMoleculeAreAtomsBonded(ObjectMolecule * I, int i0, int i1); | |||
void ObjectGotoState(ObjectMolecule * I, int state); | void ObjectGotoState(ObjectMolecule * I, int state); | |||
float ObjectMoleculeGetAvgHBondVector(ObjectMolecule * I, int atom, int state, f loat *v, | float ObjectMoleculeGetAvgHBondVector(ObjectMolecule * I, int atom, int state, f loat *v, | |||
float *incoming); | float *incoming); | |||
int ObjectMoleculeCheckBondSep(ObjectMolecule * I, int a0, int a1, int dist); | int ObjectMoleculeCheckBondSep(ObjectMolecule * I, int a0, int a1, int dist); | |||
int ObjectMoleculeGetPhiPsi(ObjectMolecule * I, int ca, float *phi, float *psi, | int ObjectMoleculeGetPhiPsi(ObjectMolecule * I, int ca, float *phi, float *psi, | |||
int state); | int state); | |||
skipping to change at line 463 | skipping to change at line 462 | |||
int match_by_segment); | int match_by_segment); | |||
float ObjectMoleculeSculptIterate(ObjectMolecule * I, int state, int n_cycle, | float ObjectMoleculeSculptIterate(ObjectMolecule * I, int state, int n_cycle, | |||
float *center); | float *center); | |||
void ObjectMoleculeSculptClear(ObjectMolecule * I); | void ObjectMoleculeSculptClear(ObjectMolecule * I); | |||
/* bond paths */ | /* bond paths */ | |||
int ObjectMoleculeGetBondPaths(ObjectMolecule * I, int atom, int max, | int ObjectMoleculeGetBondPaths(ObjectMolecule * I, int atom, int max, | |||
ObjectMoleculeBPRec * bp); | ObjectMoleculeBPRec * bp); | |||
int ObjectMoleculeInitBondPath(ObjectMolecule * I, ObjectMoleculeBPRec * bp); | int ObjectMoleculeInitBondPath(ObjectMolecule * I, ObjectMoleculeBPRec * bp); | |||
int ObjectMoleculePurgeBondPath(ObjectMolecule * I, ObjectMoleculeBPRec * bp); | int ObjectMoleculePurgeBondPath(ObjectMolecule * I, ObjectMoleculeBPRec * bp); | |||
int ObjectMoleculeGetBondPath(ObjectMolecule * I, int atom, int max, | ||||
ObjectMoleculeBPRec * bp); | ||||
int ***ObjectMoleculeGetBondPrint(ObjectMolecule * I, int max_bond, int max_type , | int ***ObjectMoleculeGetBondPrint(ObjectMolecule * I, int max_bond, int max_type , | |||
int *dim); | int *dim); | |||
int ObjectMoleculeConnect(ObjectMolecule * I, int *nbond, BondType ** bond, Atom InfoType * ai, | int ObjectMoleculeConnect(ObjectMolecule * I, int *nbond, BondType ** bond, Atom InfoType * ai, | |||
struct CoordSet *cs, int searchFlag, int connectModeOv erride); | struct CoordSet *cs, int searchFlag, int connectModeOv erride); | |||
int ObjectMoleculeSetDiscrete(PyMOLGlobals * G, ObjectMolecule * I, int discrete ); | int ObjectMoleculeSetDiscrete(PyMOLGlobals * G, ObjectMolecule * I, int discrete ); | |||
float ObjectMoleculeGetMaxVDW(ObjectMolecule * I); | float ObjectMoleculeGetMaxVDW(ObjectMolecule * I); | |||
int ObjectMoleculeGetCheckHBond(AtomInfoType **h_real, | int ObjectMoleculeGetCheckHBond(AtomInfoType **h_real, | |||
float *h_crd_ret, | float *h_crd_ret, | |||
End of changes. 17 change blocks. | ||||
22 lines changed or deleted | 19 lines changed or added |