OpenStructure
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
stage
include
ost
mol
entity_handle.hh
Go to the documentation of this file.
1
//------------------------------------------------------------------------------
2
// This file is part of the OpenStructure project <www.openstructure.org>
3
//
4
// Copyright (C) 2008-2011 by the OpenStructure authors
5
//
6
// This library is free software; you can redistribute it and/or modify it under
7
// the terms of the GNU Lesser General Public License as published by the Free
8
// Software Foundation; either version 3.0 of the License, or (at your option)
9
// any later version.
10
// This library is distributed in the hope that it will be useful, but WITHOUT
11
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13
// details.
14
//
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with this library; if not, write to the Free Software Foundation, Inc.,
17
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
//------------------------------------------------------------------------------
19
#ifndef OST_ENTITY_HANDLE_HH
20
#define OST_ENTITY_HANDLE_HH
21
22
#include <
ost/mol/module_config.hh
>
23
#include <
ost/mol/transform.hh
>
24
25
#include "
impl/entity_impl_fw.hh
"
26
#include "
entity_visitor_fw.hh
"
27
#include "
query.hh
"
28
#include "
entity_observer_fw.hh
"
29
#include "
residue_prop.hh
"
30
#include "
entity_view.hh
"
31
#include "
chain_handle.hh
"
32
#include "
handle_type_fw.hh
"
33
#include "
iterator_fw.hh
"
34
35
36
#include "
editor_type_fw.hh
"
37
38
namespace
ost {
namespace
mol {
39
42
DLLEXPORT_OST_MOL
EntityHandle CreateEntity();
43
56
class
DLLEXPORT_OST_MOL
EntityHandle
:
public
EntityBase
{
57
public
:
58
friend
class
XCSEditor
;
59
friend
class
ICSEditor
;
60
62
EntityHandle
(
const
impl::EntityImplPtr
&);
63
65
EntityHandle
();
66
67
69
70
71
72
EntityHandle
Copy()
const
;
73
74
75
77
78
79
80
81
82
geom::Vec3
GetCenterOfAtoms()
const
;
83
85
Real
GetMass()
const
;
86
88
geom::Vec3
GetCenterOfMass()
const
;
89
90
geom::AlignedCuboid
GetBounds()
const
;
92
95
void
Swap(
EntityHandle
& eh);
96
99
void
DeepSwap(
EntityHandle
& eh);
100
102
103
104
void
AttachObserver(
const
EntityObserverPtr
&);
105
106
108
void
DetachObserver(
const
EntityObserverPtr
&);
110
111
113
void
Apply(
EntityVisitor
& v);
114
115
123
TorsionHandle
FindTorsion(
const
AtomHandle
& a1,
const
AtomHandle
& a2,
124
const
AtomHandle
& a3,
const
AtomHandle
& a4)
const
;
125
127
ChainHandleList
GetChainList()
const
;
128
134
ResidueHandleIter
ResiduesBegin()
const
;
135
147
ResidueHandleIter
ResiduesEnd()
const
;
148
150
ChainHandleIter
ChainsBegin()
const
;
151
153
ChainHandleIter
ChainsEnd()
const
;
154
156
AtomHandleIter
AtomsBegin()
const
;
157
159
AtomHandleIter
AtomsEnd()
const
;
160
162
163
164
165
166
167
168
169
ChainHandle
FindChain(
const
String
& name)
const
;
170
186
ResidueHandle
FindResidue(
const
String
& chain_name,
187
const
ResNum
& number)
const
;
188
196
AtomHandle
FindAtom(
const
String
& chain_name,
197
const
ResNum
& number,
198
const
String
& atom_name)
const
;
200
202
AtomHandleList
FindWithin(
const
geom::Vec3
& pos,
Real
radius)
const
;
203
207
void
SetDefaultQueryFlags(
QueryFlags
flags);
208
210
QueryFlags
GetDefaultQueryFlags()
const
;
211
215
EntityView
Select(
const
Query
& q)
const
;
216
220
EntityView
Select(
const
String
& query_string)
const
;
221
224
EntityView
Select(
const
Query
& q,
QueryFlags
flags)
const
;
225
228
EntityView
Select(
const
String
& query_string,
QueryFlags
flags)
const
;
229
231
EntityView
CreateFullView()
const
;
232
234
EntityView
CreateEmptyView()
const
;
235
241
int
GetAtomCount()
const
;
242
248
int
GetResidueCount()
const
;
249
251
int
GetChainCount()
const
;
252
254
int
GetBondCount()
const
;
255
257
mol::BondHandleList
GetBondList()
const
;
258
259
261
Real
GetAngle(
const
AtomHandle
& a1,
const
AtomHandle
& a2,
262
const
AtomHandle
& a3)
const
;
263
265
Real
GetAngle(
const
AtomView
& a1,
const
AtomView
& a2,
266
const
AtomView
& a3)
const
;
267
268
const
geom::Mat4
& GetTransformationMatrix()
const
;
269
270
271
const
geom::Mat4
& GetInvTransformationMatrix()
const
;
272
273
bool
IsTransformationIdentity()
const
;
274
277
ResidueHandleList
GetResidueList()
const
;
278
281
AtomHandleList
GetAtomList()
const
;
282
284
geom::Vec3List
GetAtomPosList()
const
;
285
289
XCSEditor
EditXCS(
EditMode
mode=
UNBUFFERED_EDIT
)
const
;
290
294
ICSEditor
EditICS(
EditMode
mode=
UNBUFFERED_EDIT
)
const
;
295
299
EntityHandle
GetHandle()
const
;
300
bool
operator==
(
const
EntityHandle
& ref)
const
;
301
bool
operator!=
(
const
EntityHandle
& ref)
const
;
302
};
303
304
}}
305
306
#endif // OST_ENTITY_HANDLE_HH
307
Generated on Mon Nov 5 2012 13:31:05 for OpenStructure by
1.8.1.1