source: src/Filling/Inserter/Inserter.hpp@ 70f2a1

Action_Thermostats Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_StructOpt_integration_tests AutomationFragmentation_failures Candidate_v1.6.1 ChemicalSpaceEvaluator Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph Fix_Verbose_Codepatterns ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion Gui_displays_atomic_force_velocity JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool PythonUI_with_named_parameters Recreated_GuiChecks StoppableMakroAction TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps
Last change on this file since 70f2a1 was e32fa6, checked in by Frederik Heber <heber@…>, 13 years ago

Modified Filler:operator() such that Inserters only modify position, not clone.

  • Property mode set to 100644
File size: 868 bytes
Line 
1/*
2 * Inserter.hpp
3 *
4 * Created on: Feb 21, 2012
5 * Author: heber
6 */
7
8#ifndef INSERTER_HPP_
9#define INSERTER_HPP_
10
11
12// include config.h
13#ifdef HAVE_CONFIG_H
14#include <config.h>
15#endif
16
17#include <boost/shared_ptr.hpp>
18
19#include "Filling/ClusterInterface.hpp"
20
21class Vector;
22
23class InserterBase;
24
25/** This class defines the interface for all derived classes.
26 *
27 * This is just a functor of an inserter function.
28 *
29 */
30class Inserter
31{
32public:
33 typedef boost::shared_ptr<InserterBase> impl_ptr;
34 friend impl_ptr getInserterImpl(const Inserter&);
35
36 Inserter(const Inserter &ptr);
37 Inserter(impl_ptr);
38 ~Inserter();
39 bool operator()(ClusterInterface::Cluster_impl cluster, const Vector &offset) const;
40
41protected:
42 impl_ptr getImpl() const;
43
44private:
45 impl_ptr impl;
46};
47
48Inserter::impl_ptr getInserterImpl(const Inserter &f);
49
50
51#endif /* INSERTER_HPP_ */
Note: See TracBrowser for help on using the repository browser.