"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "layer2/ObjectMesh.cpp" between
pymol-v1.8.6.0.tar.bz2 and pymol-v2.1.0.tar.bz2

About: PyMOL is a Python-enhanced molecular graphics tool. It excels at 3D visualization of proteins, small molecules, density, surfaces, and trajectories. It also includes molecular editing, ray tracing, and movies. Open Source version.

ObjectMesh.cpp  (pymol-v1.8.6.0.tar.bz2):ObjectMesh.cpp  (pymol-v2.1.0.tar.bz2)
skipping to change at line 281 skipping to change at line 281
int a; int a;
PRINTFB(I->Obj.G, FB_ObjectMesh, FB_Errors) PRINTFB(I->Obj.G, FB_ObjectMesh, FB_Errors)
"ObjectMesh-Warning: map has been deleted, saving as CGO.\n" "ObjectMesh-Warning: map has been deleted, saving as CGO.\n"
ENDFB(I->Obj.G); ENDFB(I->Obj.G);
for(a = 0; a < I->NState; a++) { for(a = 0; a < I->NState; a++) {
CGO *cgo = ObjectMeshRenderImpl(I, 0, 1, a); CGO *cgo = ObjectMeshRenderImpl(I, 0, 1, a);
retObjectCGO = ObjectCGOFromCGO(I->Obj.G, retObjectCGO, cgo, a); retObjectCGO = ObjectCGOFromCGO(I->Obj.G, retObjectCGO, cgo, a);
} }
ObjectSetRepVis(&retObjectCGO->Obj, cRepMesh, 0); ObjectSetRepVisMask(&retObjectCGO->Obj, cRepCGOBit, cVis_AS);
ObjectSetRepVis(&retObjectCGO->Obj, cRepCGO, 1);
result = ObjectCGOAsPyList(retObjectCGO); result = ObjectCGOAsPyList(retObjectCGO);
ObjectCGOFree(retObjectCGO); ObjectCGOFree(retObjectCGO);
} }
return (PConvAutoNone(result)); return (PConvAutoNone(result));
} }
static void ObjectMeshStateFree(ObjectMeshState * ms) static void ObjectMeshStatePurge(ObjectMeshState * ms)
{ {
ObjectStatePurge(&ms->State); ObjectStatePurge(&ms->State);
if(ms->Field) { if(ms->Field) {
IsosurfFieldFree(ms->State.G, ms->Field); IsosurfFieldFree(ms->State.G, ms->Field);
ms->Field = NULL; ms->Field = NULL;
} }
VLAFreeP(ms->N);
VLAFreeP(ms->V);
FreeP(ms->VC);
FreeP(ms->RC);
VLAFreeP(ms->AtomVertex); VLAFreeP(ms->AtomVertex);
CGOFree(ms->shaderCGO); CGOFree(ms->shaderCGO);
CGOFree(ms->shaderUnitCellCGO); CGOFree(ms->shaderUnitCellCGO);
CGOFree(ms->UnitCellCGO); CGOFree(ms->UnitCellCGO);
ms->Active = false; ms->Active = false;
} }
static void ObjectMeshStateFree(ObjectMeshState * ms)
{
ObjectMeshStatePurge(ms);
VLAFreeP(ms->N);
VLAFreeP(ms->V);
FreeP(ms->VC);
FreeP(ms->RC);
}
static void ObjectMeshFree(ObjectMesh * I) static void ObjectMeshFree(ObjectMesh * I)
{ {
int a; int a;
for(a = 0; a < I->NState; a++) { for(a = 0; a < I->NState; a++) {
if(I->State[a].Active) if(I->State[a].Active)
ObjectMeshStateFree(I->State + a); ObjectMeshStateFree(I->State + a);
} }
VLAFreeP(I->State); VLAFreeP(I->State);
ObjectPurge(&I->Obj); ObjectPurge(&I->Obj);
skipping to change at line 1135 skipping to change at line 1139
ok &= ObjectMeshStateRenderShader(ms, I, info, mesh_as_cylinders , mesh_width); ok &= ObjectMeshStateRenderShader(ms, I, info, mesh_as_cylinders , mesh_width);
} }
} }
} }
} }
} }
if (!ok){ if (!ok){
I->Obj.fInvalidate(&I->Obj, cRepMesh, cRepInvPurge, -1); I->Obj.fInvalidate(&I->Obj, cRepMesh, cRepInvPurge, -1);
I->Obj.fInvalidate(&I->Obj, cRepCGO, cRepInvPurge, -1); I->Obj.fInvalidate(&I->Obj, cRepCGO, cRepInvPurge, -1);
ObjectSetRepVis(&I->Obj, cRepMesh, 0); ObjectSetRepVisMask(&I->Obj, 0, cVis_AS);
ObjectSetRepVis(&I->Obj, cRepCGO, 0);
} }
return NULL; return NULL;
} }
/*========================================================================*/ /*========================================================================*/
static int ObjectMeshGetNStates(ObjectMesh * I) static int ObjectMeshGetNStates(ObjectMesh * I)
{ {
return (I->NState); return (I->NState);
skipping to change at line 1184 skipping to change at line 1187
I = NULL; I = NULL;
} }
/* I->Obj.fGetCaption = (char *(*)(CObject *))ObjectMeshGetCaption; */ /* I->Obj.fGetCaption = (char *(*)(CObject *))ObjectMeshGetCaption; */
return (I); return (I);
} }
/*========================================================================*/ /*========================================================================*/
void ObjectMeshStateInit(PyMOLGlobals * G, ObjectMeshState * ms) void ObjectMeshStateInit(PyMOLGlobals * G, ObjectMeshState * ms)
{ {
if(ms->Active) if(ms->Active)
ObjectStatePurge(&ms->State); ObjectMeshStatePurge(ms);
if(ms->Field) {
IsosurfFieldFree(ms->State.G, ms->Field);
ms->Field = NULL;
}
ObjectStateInit(G, &ms->State); ObjectStateInit(G, &ms->State);
if(!ms->V) { if(!ms->V) {
ms->V = VLAlloc(float, 10000); ms->V = VLAlloc(float, 10000);
} }
if(!ms->N) { if(!ms->N) {
ms->N = VLAlloc(int, 10000); ms->N = VLAlloc(int, 10000);
} }
if(ms->AtomVertex) {
VLAFreeP(ms->AtomVertex);
}
ms->N[0] = 0; ms->N[0] = 0;
ms->Active = true; ms->Active = true;
ms->ResurfaceFlag = true; ms->ResurfaceFlag = true;
ms->RecolorFlag = false; ms->RecolorFlag = false;
ms->ExtentFlag = false; ms->ExtentFlag = false;
ms->CarveFlag = false; ms->CarveFlag = false;
ms->quiet = true; ms->quiet = true;
ms->CarveBuffer = 0.0; ms->CarveBuffer = 0.0;
ms->AtomVertex = NULL; ms->AtomVertex = NULL;
ms->UnitCellCGO = NULL; ms->UnitCellCGO = NULL;
 End of changes. 7 change blocks. 
17 lines changed or deleted 13 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)