Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000201Rosetta[All Projects] Bad Codingpublic2013-03-07 15:432013-03-30 16:57
ReporterLabonte 
Assigned ToLabonte 
PrioritylowSeverityminorReproducibilityalways
StatusassignedResolutionopen 
PlatformAll platformsOSAnyOS VersionAny
Product VersionTrunk 
Fixed in Version 
Summary0000201: Show() methods are missing for a large number of classes
DescriptionAs discussed at MiniRosettaCON2013, Show() and/or operator<< methods are useful for:
A) Interactive use in PyRosetta
B) Debugging
C) Standardized output

However, many classes have no implementation for Show() or operator<<.

It was proposed that Show() should be added as a virtual or pure virtual method to most objects and that operator<< should be written to call Show().
TagsNo tags attached.
Application(s) AffectedN/A
Command Line UsedN/A
Developer OptionsFeature Request
Fixed in SVN Version
Attached Files

- Relationships
related to 0000156new Missing show() methods on Constraints 
related to 0000191assignedLabonte Mover::clone() should be pure virtual in base class 
related to 0000192closedLabonte Mover::reinitialize_for_each_job should be pure virtual in base class 
related to 0000193closedLabonte Mover::reinitialize_for_new_input should be pure virtual in base class 
related to 0000194assignedLabonte Mover::fresh_instance() should be pure virtual in base class 

-  Notes
(0000228)
Labonte (Developer)
2013-03-29 16:56

Status Update:
For now, I have simply made show() virtual in Mover and properly implemented operator<< to call it; thus, every Mover will now at least print SOMETHING.

Doing this uprooted several improperly implemented show()s that were not const; I have corrected this in the following Movers/Protocols:
AntibodyModelerProtocol
CDRsMinPackMin
GraftCDRLoopsProtocol
SnugDock
SnugDockProtocol
ThreadingMover
DockingProtocol
TemperedDocking
RemodelGlobalFrame
LoopRefineInnerCycle
LoopRefineInnerCycleContainer
RepackTrial
ShearMinCCDTrial
SmallMinCCDTrial
(0000229)
Labonte (Developer)
2013-03-30 16:57

Status Update:
I modified a large chunk of Movers to have their operator<< methods call their show() method, which I had to write (copying over the gist of the previous operator<< method) in every case. This new show() method calls parent::show(). All the operator<< methods were then "unfriended", as there is no need for them to have access to private data in any of the cases.

The modified Movers are:
    RingConformationMover
    ConformerSwitchMover
    CcdLoopClosureMover
    LoopMover_CCD
    PyMolMover
    5× RigidBodyMovers
    SmallMover
    ShearMover
    ClassicFragmentMover
    MinMover
    PackRotamersMover
    ReturnSidechainMover
    RotamerTrialsMinMover
    RotamerTrialsMover
    SwitchResidueTypeSetMover

- Issue History
Date Modified Username Field Change
2013-03-07 15:43 Labonte New Issue
2013-03-07 15:43 Labonte Status new => assigned
2013-03-07 15:43 Labonte Assigned To => Labonte
2013-03-07 15:50 Labonte Relationship added related to 0000156
2013-03-29 16:52 Labonte Relationship added related to 0000191
2013-03-29 16:52 Labonte Relationship added related to 0000192
2013-03-29 16:52 Labonte Relationship added related to 0000193
2013-03-29 16:53 Labonte Relationship added related to 0000194
2013-03-29 16:56 Labonte Note Added: 0000228
2013-03-30 16:57 Labonte Note Added: 0000229


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker