libbio
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
bio::chemical::Symmetry Class Reference

#include <Symmetry.h>

Inheritance diagram for bio::chemical::Symmetry:
Inheritance graph
[legend]
Collaboration diagram for bio::chemical::Symmetry:
Collaboration graph
[legend]

Public Member Functions

 BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_COMMON_CONSTRUCTOR (chemical, Symmetry, filter::Chemical()) Symmetry(const Name &name
 
 Symmetry (const Name &name, SymmetryType type)
 
 Symmetry (Id id, const Name &type)
 
 Symmetry (Id id, SymmetryType type)
 
virtual ~Symmetry ()
 
virtual void SetMiscibility (const Miscibility &miscibility)
 
virtual const MiscibilityGetMiscibility () const
 
virtual void Recurse ()
 
virtual void DoNotRecurse ()
 
virtual bool IsRecursive () const
 
virtual void Realize ()
 
- Public Member Functions inherited from bio::chemical::Class< Symmetry >
virtual Pointer< ::bio::physical::WaveClone () const
 
Pointer< ::bio::physical::WaveAsWave ()
 
Pointer< const ::bio::physical::WaveAsWave () const
 
 operator Pointer< ::bio::physical::Wave > ()
 
virtual Pointer< ::bio::physical::WaveModulate (Pointer< ::bio::physical::Wave > signal)
 
virtual Pointer< ::bio::physical::WaveDemodulate ()
 
virtual Pointer< const ::bio::physical::WaveDemodulate () const
 
virtual Pointer< ::bio::physical::WaveSuperpose (const ::bio::physical::ConstWaves &displacement, Pointer< ::bio::physical::Interference > pattern)
 
virtual bool Superpose (Pointer< const ::bio::physical::Wave > displacement, Pointer< ::bio::physical::Interference > pattern)
 
 Class (Pointer< Symmetry > object, Filter filter=filter::Default(), SymmetryType symmetryType=symmetry_type::Object())
 
 Class (Pointer< Symmetry > object, const Name &name, Filter filter=filter::Default(), SymmetryType symmetryType=symmetry_type::Object())
 
 Class (Pointer< Symmetry > object, const Id &id, Filter filter=filter::Default(), SymmetryType symmetryType=symmetry_type::Object())
 
 Class (const Class &other)
 
virtual ~Class ()
 
virtual bool RegisterProperties (const Properties &properties)
 
virtual Properties GetProperties () const
 
virtual Pointer< AtomAsAtom ()
 
virtual Pointer< const AtomAsAtom () const
 
virtual Code Attenuate (Pointer< const physical::Wave > other)
 
virtual Code Disattenuate (Pointer< const physical::Wave > other)
 
- Public Member Functions inherited from bio::physical::Class< T >
 Class (Pointer< T > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< T > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual Pointer< TGetWaveObject ()
 
virtual Pointer< const TGetWaveObject () const
 
virtual operator T& ()
 
virtual operator const T & () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Public Member Functions inherited from bio::physical::Wave
 Wave (Pointer< Symmetry > symmetry=NULL)
 
 Wave (const Wave &other)
 
Waveoperator= (const Wave &other)
 
virtual ~Wave ()
 
Pointer< const SymmetryGetSymmetry () const
 
virtual bool Superpose (Pointer< const Wave > displacement, Pointer< Interference > pattern)
 
virtual Pointer< WaveSuperpose (const ConstWaves &displacement, Pointer< Interference > pattern)
 
virtual Pointer< WaveModulate (Pointer< Wave > signal)
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual void operator| (Pointer< Symmetry > symmetry)
 
virtual Pointer< Waveoperator* (Pointer< Wave > signal)
 
virtual Pointer< Waveoperator* ()
 
virtual Pointer< const Waveoperator* () const
 
virtual void operator+ (Pointer< const Wave > other)
 
virtual void operator- (Pointer< const Wave > other)
 
uint16_t GetTypeId () const
 
void SetTypeId (uint16_t typeId)
 
- Public Member Functions inherited from bio::physical::Identifiable< Id >
 Identifiable (Pointer< Perspective< Id > > perspective=NULL)
 
 Identifiable (const Name &name, Pointer< Perspective< Id > > perspective=NULL)
 
 Identifiable (Identifier id, Pointer< Perspective< Id > > perspective=NULL)
 
 Identifiable (const Identifiable &other)
 
virtual ~Identifiable ()
 
virtual operator Id () const
 
virtual bool operator== (const Identifier id) const
 
virtual bool operator== (const Name &name) const
 
virtual bool operator== (const Identifiable< Id > &other) const
 
virtual Name GetName () const
 
virtual Identifier GetId () const
 
virtual bool SetName (const Name &name)
 
virtual bool SetId (Identifier id)
 
virtual bool IsName (const Name &name) const
 
virtual bool IsNameInsensitive (const Name &name) const
 
virtual bool IsId (Identifier id) const
 
virtual void SetPerspective (Pointer< Perspective< Id > > perspective)
 
- Public Member Functions inherited from bio::physical::Observer< PERSPECTIVE >
 Observer (Pointer< Perspective > perspective=NULL)
 
 Observer (const Observer &other)
 
virtual ~Observer ()
 
virtual void SetPerspective (Pointer< Perspective > perspective)
 
virtual Pointer< PerspectiveGetPerspective () const
 
- Public Member Functions inherited from bio::log::Writer
 Writer ()
 
 Writer (Filter logFilter)
 
virtual ~Writer ()
 
virtual Pointer< const WriterAsLogWriter () const
 
bool IsEnabled (LogLevel level) const
 
virtual void Log (LogLevel level, const char *format, va_list args) const
 
- Public Member Functions inherited from bio::physical::Class< Writer >
 Class (Pointer< Writer > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< Writer > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual Pointer< Writer > GetWaveObject ()
 
virtual Pointer< const Writer > GetWaveObject () const
 
virtual operator Writer & ()
 
virtual operator const Writer & () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Public Member Functions inherited from bio::physical::Filterable
 Filterable ()
 
 Filterable (Filter filter)
 
virtual ~Filterable ()
 
virtual void InitializeImplementation (ByteStreams &args)
 
virtual void SetFilter (Filter filter)
 
Filter GetFilter () const
 
virtual Pointer< const SymmetrySpin () const
 
virtual Code Reify (Pointer< const Symmetry > symmetry)
 
- Public Member Functions inherited from bio::physical::Class< Filterable >
 Class (Pointer< Filterable > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< Filterable > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual Pointer< FilterableGetWaveObject ()
 
virtual Pointer< const FilterableGetWaveObject () const
 
virtual operator Filterable & ()
 
virtual operator const Filterable & () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Public Member Functions inherited from bio::chemical::Atom
 Atom ()
 
 Atom (const Atom &other)
 
virtual ~Atom ()
 
void CloneBondsFrom (const Atom &other, BondClonePolicy policy=&Atom::DefaultBondClonePolicy)
 
virtual Pointer< const physical::SymmetrySpin () const
 
virtual Code Reify (Pointer< const physical::Symmetry > symmetry)
 
Pointer< physical::WaveGetBonded (Valence position)
 
Pointer< const physical::WaveGetBonded (Valence position) const
 
Pointer< const physical::WaveResolveBondedForReadById (AtomicNumber bondId) const
 
Pointer< physical::WaveResolveBondedForWriteById (AtomicNumber bondId)
 
template<typename T >
Cow< TAsBonded () const
 
template<typename T >
Pointer< TAsBondedQuantum () const
 
template<typename T >
atom_detail::AsResultType< T, type::IsWaveImplementation< typenametype::RemovePointer< T >::Type >::sValue >::Type As () const
 
template<typename T >
 operator T () const
 
template<typename T >
Valence FormBond (T toBond, BondType type=bond_type::Unknown())
 
template<typename T >
bool BreakBond (T toDisassociate, BondType type=bond_type::Unknown())
 
Valence GetBondPosition (AtomicNumber bondedId) const
 
Valence GetBondPosition (const Name &typeName) const
 
Valence GetBondPositionLocked (AtomicNumber bondedId) const
 
template<typename T >
Valence GetBondPosition () const
 
BondType GetBondType (Valence position) const
 
template<typename T >
BondType GetBondType () const
 
Pointer< BondsGetAllBonds ()
 
Pointer< const BondsGetAllBonds () const
 
void ForEachBond (BondVisitor visitor, void *context=NULL) const
 
void ForEachBondMutable (BondMutator mutator, void *context=NULL)
 
virtual Valence FormBondImplementation (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type)
 
Valence FormBondImplementation (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type, bool ownsBonded)
 
Valence FormBondImplementationLocked (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type, bool ownsBonded)
 
virtual bool BreakBondImplementation (AtomicNumber id, BondType type)
 
bool BreakBondImplementationLocked (AtomicNumber id, BondType type)
 
- Public Member Functions inherited from bio::physical::Class< Atom >
 Class (Pointer< Atom > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< Atom > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual Pointer< Atom > GetWaveObject ()
 
virtual Pointer< const Atom > GetWaveObject () const
 
virtual operator Atom & ()
 
virtual operator const Atom & () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Public Member Functions inherited from bio::ThreadSafe
 ThreadSafe ()
 
 ThreadSafe (const ThreadSafe &toCopy)
 
ThreadSafeoperator= (const ThreadSafe &toCopy)
 
 ~ThreadSafe ()
 
void LockThread () const
 
void UnlockThread () const
 
void LockMutexShared () const
 
void UnlockMutexShared () const
 
- Public Member Functions inherited from bio::chemical::Substance
 BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_COMMON_CONSTRUCTOR (chemical, Substance, filter::Chemical()) Substance(const UnorderedMotif< Property > &properties
 
virtual ~Substance ()
 
virtual void Enable ()
 
virtual void Disable ()
 
virtual bool IsEnabled () const
 
- Public Member Functions inherited from bio::chemical::Class< Substance >
virtual Pointer< ::bio::physical::WaveClone () const
 
Pointer< ::bio::physical::WaveAsWave ()
 
Pointer< const ::bio::physical::WaveAsWave () const
 
 operator Pointer< ::bio::physical::Wave > ()
 
virtual Pointer< ::bio::physical::WaveModulate (Pointer< ::bio::physical::Wave > signal)
 
virtual Pointer< ::bio::physical::WaveDemodulate ()
 
virtual Pointer< const ::bio::physical::WaveDemodulate () const
 
virtual Pointer< ::bio::physical::WaveSuperpose (const ::bio::physical::ConstWaves &displacement, Pointer< ::bio::physical::Interference > pattern)
 
virtual bool Superpose (Pointer< const ::bio::physical::Wave > displacement, Pointer< ::bio::physical::Interference > pattern)
 
 Class (Pointer< Substance > object, Filter filter=filter::Default(), SymmetryType symmetryType=symmetry_type::Object())
 
 Class (Pointer< Substance > object, const Name &name, Filter filter=filter::Default(), SymmetryType symmetryType=symmetry_type::Object())
 
 Class (Pointer< Substance > object, const Id &id, Filter filter=filter::Default(), SymmetryType symmetryType=symmetry_type::Object())
 
 Class (const Class &other)
 
virtual ~Class ()
 
virtual bool RegisterProperties (const Properties &properties)
 
virtual Properties GetProperties () const
 
virtual Pointer< AtomAsAtom ()
 
virtual Pointer< const AtomAsAtom () const
 
virtual Code Attenuate (Pointer< const physical::Wave > other)
 
virtual Code Disattenuate (Pointer< const physical::Wave > other)
 
- Public Member Functions inherited from bio::Covalent< UnorderedMotif< Property > >
 Covalent ()
 
 Covalent (const Covalent &other)
 
virtual ~Covalent ()
 
Covalentoperator= (const Covalent &other)
 
Pointer< UnorderedMotif< Property > > Object ()
 
Pointer< const UnorderedMotif< Property > > Object () const
 
- Public Member Functions inherited from bio::Covalent< UnorderedMotif< State > >
 Covalent ()
 
 Covalent (const Covalent &other)
 
virtual ~Covalent ()
 
Covalentoperator= (const Covalent &other)
 
Pointer< UnorderedMotif< State > > Object ()
 
Pointer< const UnorderedMotif< State > > Object () const
 
- Public Member Functions inherited from bio::chemical::Structure
 Structure ()
 
virtual ~Structure ()
 
- Public Member Functions inherited from bio::chemical::UnorderedStructureInterface
 UnorderedStructureInterface ()
 
virtual ~UnorderedStructureInterface ()
 
template<typename T >
T Add (const T t)
 
template<typename T >
Pointer< TAdd (Pointer< T > t)
 
template<typename T >
Code Remove (const T t)
 
template<typename T >
Code Remove (Pointer< T > t)
 
template<typename T >
void Import (Pointer< const UnorderedMotif< T > > other)
 
template<typename T >
void Import (Pointer< const LinearMotif< T > > other)
 
template<typename T >
void Import (const ::bio::Arrangement< T > &other)
 
Code ImportAll (Pointer< const physical::Wave > other)
 
template<typename T >
Index GetCount () const
 
template<typename T >
Pointer< ContainerGetAll ()
 
template<typename T >
Pointer< const ContainerGetAll () const
 
template<typename T >
bool Has (T content) const
 
template<typename T >
bool Has (Pointer< T > content) const
 
template<typename T >
unsigned int GetNumMatching (Pointer< const Container > other) const
 
template<typename T >
bool HasAll (Pointer< const Container > contents) const
 
template<typename T >
void Clear ()
 
template<typename T >
std::string GetStringFrom (std::string separator=", ")
 
template<typename T >
void Log (const LogLevel &level=log_level::Info(), const Filter &filter=FilterPerspective::InvalidId())
 
- Public Member Functions inherited from bio::chemical::LinearStructureInterface
 LinearStructureInterface ()
 
virtual ~LinearStructureInterface ()
 
template<typename T >
Code Insert (typename LinearStructureRequest< T >::PointerType toAdd, const Position position=BOTTOM, const Id optionalPositionArg=0, const bool transferSubContents=false)
 
template<typename T >
LinearStructureRequest< T >::PointerType GetById (const Id &id)
 
template<typename T >
const LinearStructureRequest< T >::PointerType GetById (const Id &id) const
 
template<typename T >
LinearStructureRequest< T >::PointerType GetByName (const Name &name)
 
template<typename T >
const LinearStructureRequest< T >::PointerType GetByName (const Name &name) const
 
template<typename T >
LinearStructureRequest< T >::PointerType GetOrCreateById (Id id)
 
template<typename T >
LinearStructureRequest< T >::PointerType GetOrCreateByName (const Name &name)
 
template<typename T >
Code RemoveById (const Id &id)
 
template<typename T >
Code RemoveByName (const Name &name)
 
template<typename T >
LinearMotif< typenameLinearStructureRequest< T >::Pointee >::Contents GetAllLike (Pointer< const Affinity > affinity) const
 
template<typename T >
Emission ForEach (Pointer< ExcitationBase > excitation)
 
- Public Member Functions inherited from bio::physical::Symmetry
 Symmetry ()
 
 Symmetry (const Name &name, const Name &type)
 
 Symmetry (const Name &name, SymmetryType type)
 
 Symmetry (Id id, const Name &type)
 
 Symmetry (Id id, SymmetryType type)
 
const Identifiable< SymmetryType > & GetType () const
 
void SetType (SymmetryType type)
 
void SetType (const Name &type)
 
virtual void SetValue (const ByteStream &bytes)
 
virtual const ByteStreamGetValue () const
 
virtual Pointer< ByteStreamAccessValue ()
 
virtual const TimestampGetTimeCreated () const
 
virtual const TimestampGetTimeUpdated () const
 
virtual void SetRealization (Pointer< Wave > realization)
 
- Public Member Functions inherited from bio::Covalent< LinearMotif< physical::Symmetry > >
 Covalent ()
 
 Covalent (const Covalent &other)
 
virtual ~Covalent ()
 
Covalentoperator= (const Covalent &other)
 
Pointer< LinearMotif< physical::Symmetry > > Object ()
 
Pointer< const LinearMotif< physical::Symmetry > > Object () const
 

Static Public Member Functions

static Properties GetClassProperties ()
 
- Static Public Member Functions inherited from bio::physical::Class< T >
static Pointer< TConvert (Pointer< Wave > wave)
 
- Static Public Member Functions inherited from bio::physical::Wave
static Properties GetResonanceBetween (ConstWaves waves)
 
static Properties GetResonanceBetween (Pointer< const Wave > wave1, Pointer< const Wave > wave2)
 
static Properties GetResonanceBetween (Pointer< const Wave > wave, const Properties &properties)
 
- Static Public Member Functions inherited from bio::log::Writer
static void Log (Pointer< const Writer > writer, LogLevel level, const char *format,...)
 
static bool ShouldLog (Pointer< const Writer > writer, LogLevel level)
 
- Static Public Member Functions inherited from bio::physical::Class< Writer >
static Pointer< Writer > Convert (Pointer< Wave > wave)
 
- Static Public Member Functions inherited from bio::physical::Class< Filterable >
static Pointer< FilterableConvert (Pointer< Wave > wave)
 
- Static Public Member Functions inherited from bio::chemical::Atom
static BondCloneAction DefaultBondClonePolicy (const Bond &bond)
 
template<typename T >
static AtomicNumber GetBondId ()
 
- Static Public Member Functions inherited from bio::physical::Class< Atom >
static Pointer< Atom > Convert (Pointer< Wave > wave)
 
- Static Public Member Functions inherited from bio::chemical::UnorderedStructureInterface
static void ImportAllCollectVisitor (const chemical::Bond &bond, void *ctx)
 

Public Attributes

const Nametype
 
- Public Attributes inherited from bio::chemical::Substance
const UnorderedMotif< State > & states
 

Protected Attributes

Miscibility mMiscibility
 
- Protected Attributes inherited from bio::physical::Class< T >
Pointer< TmObject
 
- Protected Attributes inherited from bio::physical::Wave
LazyPointer< SymmetrymSymmetry
 
bool mHasSignal
 
uint16_t mTypeId
 
- Protected Attributes inherited from bio::VirtualBase
bool mHasBeenInitialized
 
- Protected Attributes inherited from bio::physical::Class< Writer >
Pointer< Writer > mObject
 
- Protected Attributes inherited from bio::physical::Filterable
Filter mFilter
 
- Protected Attributes inherited from bio::physical::Class< Filterable >
Pointer< FilterablemObject
 
- Protected Attributes inherited from bio::chemical::Atom
Bonds mBonds
 
::std::map< AtomicNumber, ValencemBondIndex
 
Arrangement< Pointer< const physical::Wave > > mBackflowPreventer
 
- Protected Attributes inherited from bio::physical::Class< Atom >
Pointer< Atom > mObject
 
- Protected Attributes inherited from bio::Covalent< UnorderedMotif< Property > >
Pointer< UnorderedMotif< Property > > mT
 
- Protected Attributes inherited from bio::Covalent< UnorderedMotif< State > >
Pointer< UnorderedMotif< State > > mT
 
- Protected Attributes inherited from bio::physical::Symmetry
ByteStream mValue
 
Identifiable< SymmetryTypemType
 
Timestamp mTimeCreated
 
Timestamp mTimeUpdated
 
Pointer< WavemRealization
 
- Protected Attributes inherited from bio::Covalent< LinearMotif< physical::Symmetry > >
Pointer< LinearMotif< physical::Symmetry > > mT
 

Additional Inherited Members

- Public Types inherited from bio::physical::Identifiable< Id >
typedef Id Identifier
 
typedef Arrangement< IdentifierIds
 
- Public Types inherited from bio::physical::Observer< PERSPECTIVE >
typedef PERSPECTIVE Perspective
 
- Public Types inherited from bio::chemical::Atom
typedef BondCloneAction(* BondClonePolicy) (const Bond &bond)
 
typedef void(* BondVisitor) (const Bond &bond, void *context)
 
typedef BondCloneAction(* BondMutator) (Bond &bond, void *context)
 
- Protected Types inherited from bio::physical::Identifiable< Id >
typedef Id Identifier
 
typedef Arrangement< IdentifierIds
 
- Protected Types inherited from bio::physical::Observer< PERSPECTIVE >
typedef PERSPECTIVE Perspective
 
- Protected Types inherited from bio::chemical::Atom
typedef BondCloneAction(* BondClonePolicy) (const Bond &bond)
 
typedef void(* BondVisitor) (const Bond &bond, void *context)
 
typedef BondCloneAction(* BondMutator) (Bond &bond, void *context)
 
- Protected Member Functions inherited from bio::chemical::Elementary< T >
void RegisterType ()
 
 Elementary (const Properties properties)
 
 Elementary ()
 
virtual ~Elementary ()
 
- Protected Member Functions inherited from bio::physical::Identifiable< Id >
virtual void InitializeImplementation (ByteStreams &args)
 
friend::std::ostream & operator<< (std::ostream &out, const Identifiable< Id > &t)
 
 Identifiable (Pointer< Perspective< Id > > perspective=NULL)
 
 Identifiable (const Name &name, Pointer< Perspective< Id > > perspective=NULL)
 
 Identifiable (Identifier id, Pointer< Perspective< Id > > perspective=NULL)
 
 Identifiable (const Identifiable &other)
 
virtual ~Identifiable ()
 
virtual operator Id () const
 
virtual bool operator== (const Identifier id) const
 
virtual bool operator== (const Name &name) const
 
virtual bool operator== (const Identifiable< Id > &other) const
 
virtual Name GetName () const
 
virtual Identifier GetId () const
 
virtual bool SetName (const Name &name)
 
virtual bool SetId (Identifier id)
 
virtual bool IsName (const Name &name) const
 
virtual bool IsNameInsensitive (const Name &name) const
 
virtual bool IsId (Identifier id) const
 
virtual void SetPerspective (Pointer< Perspective< Id > > perspective)
 
- Protected Member Functions inherited from bio::physical::Observer< PERSPECTIVE >
 Observer (Pointer< Perspective > perspective=NULL)
 
 Observer (const Observer &other)
 
virtual ~Observer ()
 
virtual void SetPerspective (Pointer< Perspective > perspective)
 
virtual Pointer< PerspectiveGetPerspective () const
 
- Protected Member Functions inherited from bio::VirtualBase
 VirtualBase ()
 
virtual ~VirtualBase ()
 
void Initialize (ByteStreams &args)
 
void Initialize (ByteStream arg1)
 
void Initialize (ByteStream arg1, ByteStream arg2)
 
void Initialize (ByteStream arg1, ByteStream arg2, ByteStream arg3)
 
- Protected Member Functions inherited from bio::log::Writer
 Writer ()
 
 Writer (Filter logFilter)
 
virtual ~Writer ()
 
virtual Pointer< const WriterAsLogWriter () const
 
bool IsEnabled (LogLevel level) const
 
virtual void Log (LogLevel level, const char *format, va_list args) const
 
- Protected Member Functions inherited from bio::physical::Class< Writer >
 Class (Pointer< Writer > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< Writer > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual Pointer< Writer > GetWaveObject ()
 
virtual Pointer< const Writer > GetWaveObject () const
 
virtual operator Writer & ()
 
virtual operator const Writer & () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Protected Member Functions inherited from bio::physical::Filterable
 Filterable ()
 
 Filterable (Filter filter)
 
virtual ~Filterable ()
 
virtual void InitializeImplementation (ByteStreams &args)
 
virtual void SetFilter (Filter filter)
 
Filter GetFilter () const
 
virtual Pointer< const SymmetrySpin () const
 
virtual Code Reify (Pointer< const Symmetry > symmetry)
 
- Protected Member Functions inherited from bio::physical::Class< Filterable >
 Class (Pointer< Filterable > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< Filterable > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual Pointer< FilterableGetWaveObject ()
 
virtual Pointer< const FilterableGetWaveObject () const
 
virtual operator Filterable & ()
 
virtual operator const Filterable & () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Protected Member Functions inherited from bio::chemical::Atom
void IndexBond (AtomicNumber bondedId, Valence position)
 
void UnindexBond (AtomicNumber bondedId)
 
 Atom ()
 
 Atom (const Atom &other)
 
virtual ~Atom ()
 
void CloneBondsFrom (const Atom &other, BondClonePolicy policy=&Atom::DefaultBondClonePolicy)
 
virtual Pointer< const physical::SymmetrySpin () const
 
virtual Code Reify (Pointer< const physical::Symmetry > symmetry)
 
Pointer< physical::WaveGetBonded (Valence position)
 
Pointer< const physical::WaveGetBonded (Valence position) const
 
Pointer< const physical::WaveResolveBondedForReadById (AtomicNumber bondId) const
 
Pointer< physical::WaveResolveBondedForWriteById (AtomicNumber bondId)
 
template<typename T >
Cow< TAsBonded () const
 
template<typename T >
Pointer< TAsBondedQuantum () const
 
template<typename T >
atom_detail::AsResultType< T, type::IsWaveImplementation< typenametype::RemovePointer< T >::Type >::sValue >::Type As () const
 
template<typename T >
 operator T () const
 
template<typename T >
Valence FormBond (T toBond, BondType type=bond_type::Unknown())
 
template<typename T >
bool BreakBond (T toDisassociate, BondType type=bond_type::Unknown())
 
Valence GetBondPosition (AtomicNumber bondedId) const
 
Valence GetBondPosition (const Name &typeName) const
 
Valence GetBondPositionLocked (AtomicNumber bondedId) const
 
template<typename T >
Valence GetBondPosition () const
 
BondType GetBondType (Valence position) const
 
template<typename T >
BondType GetBondType () const
 
Pointer< BondsGetAllBonds ()
 
Pointer< const BondsGetAllBonds () const
 
void ForEachBond (BondVisitor visitor, void *context=NULL) const
 
void ForEachBondMutable (BondMutator mutator, void *context=NULL)
 
virtual Valence FormBondImplementation (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type)
 
Valence FormBondImplementation (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type, bool ownsBonded)
 
Valence FormBondImplementationLocked (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type, bool ownsBonded)
 
virtual bool BreakBondImplementation (AtomicNumber id, BondType type)
 
bool BreakBondImplementationLocked (AtomicNumber id, BondType type)
 
- Protected Member Functions inherited from bio::physical::Class< Atom >
 Class (Pointer< Atom > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< Atom > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual Pointer< Atom > GetWaveObject ()
 
virtual Pointer< const Atom > GetWaveObject () const
 
virtual operator Atom & ()
 
virtual operator const Atom & () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Protected Member Functions inherited from bio::ThreadSafe
 ThreadSafe ()
 
 ThreadSafe (const ThreadSafe &toCopy)
 
ThreadSafeoperator= (const ThreadSafe &toCopy)
 
 ~ThreadSafe ()
 
void LockThread () const
 
void UnlockThread () const
 
void LockMutexShared () const
 
void UnlockMutexShared () const
 
- Protected Member Functions inherited from bio::chemical::LinearStructureInterface
template<typename T >
Pointer< LinearMotif< T > > ResolveLinearMotif ()
 
template<typename T >
Pointer< const LinearMotif< T > > ResolveLinearMotif () const
 
- Static Protected Member Functions inherited from bio::log::Writer
static void Log (Pointer< const Writer > writer, LogLevel level, const char *format,...)
 
static bool ShouldLog (Pointer< const Writer > writer, LogLevel level)
 
- Static Protected Member Functions inherited from bio::physical::Class< Writer >
static Pointer< Writer > Convert (Pointer< Wave > wave)
 
- Static Protected Member Functions inherited from bio::physical::Class< Filterable >
static Pointer< FilterableConvert (Pointer< Wave > wave)
 
- Static Protected Member Functions inherited from bio::chemical::Atom
static BondCloneAction DefaultBondClonePolicy (const Bond &bond)
 
template<typename T >
static AtomicNumber GetBondId ()
 
- Static Protected Member Functions inherited from bio::physical::Class< Atom >
static Pointer< Atom > Convert (Pointer< Wave > wave)
 

Detailed Description

chemical::Symmetry adds a recursive structure to physical::Symmetry. This enables nesting and complex structures to form.
Primarily, chemical::Symmetry allows for lists (chemical::Structures) and basic operations (chemical::Reactions) to be Rotated.

All chemical::Symmetries have a Miscibility which determines how multiple Symmetries are Mixed.
Mixing operates on Symmetries in order to provide a standard means of combining Biological objects.
The default Miscibility is Passthrough(), which will cause all nested Symmetries to be Realized.
To avoid superfluous updates when Realizing a highly-nested object, Symmetries will, by default, be non-recursive. This means that Reifying a Wave with this should only update the Wave's initial value, and not check the nested Symmetries within this (e.g. not update member variables or sub-objects of the Wave).
There are 3 ways to enable recursive behavior:

  1. Set the Miscibility to Passthrough(), this will cause all nested Symmetries (which are not themselves Passthrough Miscible) to be updated, but no more than that.
  2. Set the mRealization of *this to NULL. This will enable full Reification on the first call only. After *this has been Reified, it will have a mRealization and will not seek to be fully Reified again unless otherwise specified.
  3. Add the state::Recursive(). This can be done with the ease-of-use method: Recurse().

Constructor & Destructor Documentation

◆ Symmetry() [1/3]

bio::chemical::Symmetry::Symmetry ( const Name name,
SymmetryType  type 
)
Parameters
name
type

◆ Symmetry() [2/3]

bio::chemical::Symmetry::Symmetry ( Id  id,
const Name type 
)
Parameters
id
type

◆ Symmetry() [3/3]

bio::chemical::Symmetry::Symmetry ( Id  id,
SymmetryType  type 
)
Parameters
id
type

◆ ~Symmetry()

bio::chemical::Symmetry::~Symmetry ( )
virtual

Reimplemented from bio::physical::Symmetry.

Member Function Documentation

◆ BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_COMMON_CONSTRUCTOR()

bio::chemical::Symmetry::BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_COMMON_CONSTRUCTOR ( chemical  ,
Symmetry  ,
filter::Chemical()   
) const &

Ensure virtual methods point to Class implementations.

Parameters
name
type

◆ DoNotRecurse()

void bio::chemical::Symmetry::DoNotRecurse ( )
virtual

Helper method for removing the Recursive() State.
May be overridden to add custom behavior.

◆ GetClassProperties()

Properties bio::chemical::Symmetry::GetClassProperties ( )
static
Returns
the Properties of Symmetry.

◆ GetMiscibility()

const Miscibility & bio::chemical::Symmetry::GetMiscibility ( ) const
virtual
Returns
the mMiscibility of *this.

◆ IsRecursive()

bool bio::chemical::Symmetry::IsRecursive ( ) const
virtual

Helper method for checking the Recursive() State.
May be overridden to add custom checks.

Returns
whether or not *this has the Recursive() State.

◆ Realize()

void bio::chemical::Symmetry::Realize ( )
virtual

Override of Symmetry::Realize.
Handles miscibility-controlled recursion.

Reimplemented from bio::physical::Symmetry.

◆ Recurse()

void bio::chemical::Symmetry::Recurse ( )
virtual

Helper method for setting the Recursive() State.
May be overridden to add custom behavior.

◆ SetMiscibility()

void bio::chemical::Symmetry::SetMiscibility ( const Miscibility miscibility)
virtual

Set the mMiscibility of *this.

Parameters
miscibility

Member Data Documentation

◆ mMiscibility

Miscibility bio::chemical::Symmetry::mMiscibility
protected

◆ type

const Name& bio::chemical::Symmetry::type

The documentation for this class was generated from the following files: