Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
core
pack
task
operation
TaskOperation.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file core/pack/task/operation/TaskOperation.hh
11
/// @brief An operation to perform on a packer task --
12
/// usually, by a PackerTaskFactory right after the task's construction
13
/// @author Andrew Leaver-Fay (leaverfa@email.unc.edu)
14
15
// only generalized base classes go here. TaskOperations that actually do things do not belong here.
16
17
#ifndef INCLUDED_core_pack_task_operation_TaskOperation_hh
18
#define INCLUDED_core_pack_task_operation_TaskOperation_hh
19
20
// Unit Headers
21
#include <
core/pack/task/operation/TaskOperation.fwd.hh
>
22
23
// VC++ will not compile if these are forward declaration headers
24
// AUTO-REMOVED #include <core/pack/task/operation/ResLvlTaskOperationFactory.hh>
25
// AUTO-REMOVED #include <core/pack/task/operation/ResFilterFactory.hh>
26
27
// Project Headers
28
#include <
core/pose/Pose.fwd.hh
>
29
#include <
core/pack/task/PackerTask.fwd.hh
>
30
31
// Utility Headers
32
#include <utility/tag/Tag.fwd.hh>
33
#include <utility/pointer/ReferenceCount.hh>
34
#include <utility/vector1.hh>
35
36
#include <utility/lua/LuaObject.hh>
37
#include <utility/lua/LuaIterator.hh>
38
39
namespace
core {
40
namespace
pack {
41
namespace
task {
42
namespace
operation {
43
44
#ifdef USELUA
45
void
lregister_TaskOperation( lua_State * lstate );
46
#endif
47
48
class
TaskOperation
:
public
utility::pointer::ReferenceCount
49
{
50
public
:
51
typedef
utility::tag::TagPtr
TagPtr
;
52
typedef
pose::Pose
Pose
;
53
54
public
:
55
virtual
~TaskOperation
();
56
57
/// @brief Create another task operation of the type matching the most-derived
58
/// version of the class.
59
virtual
TaskOperationOP
clone
()
const
= 0;
60
61
/// @brief Change a packer task in some way. The input pose is the one to which the input
62
/// task will be later applied.
63
virtual
void
apply
(
Pose
const
&,
PackerTask
& )
const
= 0;
64
65
/// @brief Used to parse an xml-like tag to load parameters and properties.
66
virtual
void
parse_tag
(
TagPtr
);
67
#ifdef USELUA
68
virtual
void
lregister( lua_State * lstate){ lregister_TaskOperation( lstate ); }
69
#endif
70
71
virtual
void
parse_def
( utility::lua::LuaObject
const
& def );
72
};
73
74
// do not add any derived classes to this file, unless they are generalized abstract base classes and do not actually 'do any work'
75
76
}
//namespace operation
77
}
//namespace task
78
}
//namespace pack
79
}
//namespace core
80
81
#endif
Generated on Sat Jun 1 2013 11:33:57 for Rosetta 3.5 by
1.8.4