|
| JMEMoleculeReader (std::istream &is) |
| Constructs a JMEMoleculeReader instance that will read the molecule data from the input stream is. More...
|
|
| ~JMEMoleculeReader () |
| Destructor. More...
|
|
Base::DataReader< Molecule > & | read (Molecule &obj, bool overwrite=true) |
| Reads the data record at the current record index and stores the read data in obj. More...
|
|
Base::DataReader< Molecule > & | read (std::size_t idx, Molecule &obj, bool overwrite=true) |
| Reads the data record at index idx and stores the read data in obj. More...
|
|
Base::DataReader< Molecule > & | skip () |
| Skips the data record at the current record index. More...
|
|
bool | hasMoreData () |
| Tells if there are any data records left to read. More...
|
|
std::size_t | getRecordIndex () const |
|
void | setRecordIndex (std::size_t idx) |
| Sets the index of the current data record to idx. More...
|
|
std::size_t | getNumRecords () |
| Returns the total number of available data records. More...
|
|
| operator const void * () const |
|
bool | operator! () const |
|
virtual DataReader & | read (DataType &obj, bool overwrite=true)=0 |
| Reads the data record at the current record index and stores the read data in obj. More...
|
|
virtual DataReader & | read (std::size_t idx, DataType &obj, bool overwrite=true)=0 |
| Reads the data record at index idx and stores the read data in obj. More...
|
|
virtual void | close () |
| Performs a reader specific shutdown operation (if required). More...
|
|
std::size_t | registerIOCallback (const IOCallbackFunction &func) |
| Registers an I/O callback target function. More...
|
|
void | unregisterIOCallback (std::size_t id) |
| Unregisters the I/O callback function specified by id. More...
|
|
void | invokeIOCallbacks (double progress) const |
| Invokes all registered I/O callback functions with the argument *this . More...
|
|
void | clearIOCallbacks () |
| Clears all registered I/O callback functions. More...
|
|
std::size_t | getNumParameters () const |
| Returns the number of container entries. More...
|
|
template<typename T > |
void | setParameter (const LookupKey &key, T &&val) |
| Sets the value of the control-parameter specified by key to val. More...
|
|
const Any & | getParameter (const LookupKey &key, bool throw_=false, bool local=false) const |
| Returns the value of the control-parameter specified by key. More...
|
|
template<typename T > |
const T & | getParameter (const LookupKey &key, bool local=false) const |
| Returns the value of the control-parameter specified by key as a const reference to an object of type T. More...
|
|
template<typename T > |
const T & | getParameterOrDefault (const LookupKey &key, const T &def_val, bool local=false) const |
| Returns the value of the control-parameter specified by key as a const reference to an object of type T, or the default value def_val if a stored value does not exist. More...
|
|
bool | removeParameter (const LookupKey &key) |
| Removes the entry for the control-parameter specified by key. More...
|
|
void | clearParameters () |
| Erases all container entries. More...
|
|
bool | isParameterSet (const LookupKey &key, bool local=false) const |
| Tells whether or not a value has been assigned to the control-parameter specified by key. More...
|
|
void | addParameters (const ControlParameterContainer &cntnr) |
| Adds the control-parameter value entries in the ControlParameterContainer instance cntnr. More...
|
|
void | copyParameters (const ControlParameterContainer &cntnr) |
| Replaces the current set of properties by a copy of the entries in cntnr. More...
|
|
ConstParameterIterator | getParametersBegin () const |
| Returns a constant iterator pointing to the beginning of the entries. More...
|
|
ConstParameterIterator | getParametersEnd () const |
| Returns a constant iterator pointing to the end of the entries. More...
|
|
ConstParameterIterator | begin () const |
| Returns a constant iterator pointing to the beginning of the entries. More...
|
|
ConstParameterIterator | end () const |
| Returns a constant iterator pointing to the end of the entries. More...
|
|
void | setParent (const ControlParameterContainer *cntnr) |
| Sets or removes the parent control-parameter container used to resolve requests for missing entries. More...
|
|
const ControlParameterContainer * | getParent () const |
| Returns a pointer to the parent control-parameter container. More...
|
|
std::size_t | registerParameterChangedCallback (const ParameterChangedCallbackFunction &func) |
| Registers a callback target function that gets invoked when the value of a control-parameter has changed. More...
|
|
void | unregisterParameterChangedCallback (std::size_t id) |
| Unregisters the callback specified by id. More...
|
|
std::size_t | registerParameterRemovedCallback (const ParameterRemovedCallbackFunction &func) |
| Registers a callback target function that gets invoked when a control-parameter entry has been removed. More...
|
|
void | unregisterParameterRemovedCallback (std::size_t id) |
| Unregisters the callback specified by id. More...
|
|
std::size_t | registerParentChangedCallback (const ParentChangedCallbackFunction &func) |
| Registers a callback target function that gets invoked when the parent container has been changed or was detached. More...
|
|
void | unregisterParentChangedCallback (std::size_t id) |
| Unregisters the callback specified by id. More...
|
|
const ControlParameterContainer & | getParameters () const |
| Returns a const reference to itself. More...
|
|
A reader for molecule data in the native I/O format of the JME Molecular Editor [JME] java applet.
JMEMoleculeReader
implements the reading of Chem::Molecule objects from a std::istream
instance that provides the molecule data in the native I/O format of the JME Molecular Editor applet.
Attributes of the atoms and bonds of a read input molecule are stored as properties of allocated Chem::Atom and Chem::Bond objects. The affected properties are summarized in the tables below:
Chem::Atom Property | Description | Notes |
Chem::AtomProperty::MATCH_CONSTRAINTS | Specifies atom matching constraints | Only set if constraints have been specified |
Chem::AtomProperty::COORDINATES_2D | Specifies the 2D position of the atom | - |
Chem::AtomProperty::TYPE | Specifies the type of the atom (see Chem::AtomType) | Only set if the atom is a query atom and the specified type is not a member of an atom list |
Chem::AtomProperty::SYMBOL | Specifies the atom symbol (e.g. element symbol) | Only set if the atom is not a query atom, or the symbol cannot be mapped to a valid atom type and is not a member of an atom list |
Chem::AtomProperty::FORMAL_CHARGE | Specifies the formal charge of the atom | Only set if the charge has been specified outside of an atom list |
Chem::AtomProperty::REACTION_ATOM_MAPPING_ID | Specifies the reactant to product atom mapping class | Only set if a mapping number has been specified that is greater than zero |
Beside the editing of conventional chemical structures, the JME applet allows to some extent the specification of atom matching constraints for the definition of substructure search queries. If such constraints are encountered during the processing of an atom specification, the constraint primitives are converted to corresponding Chem::MatchConstraint objects and stored as the value of the Chem::Atom property Chem::AtomProperty::MATCH_CONSTRAINTS in a Chem::MatchConstraintList data structure.
The following table lists all of the supported JME atom matching constraints and specifies how they are represented by Chem::MatchConstraint instances (in the table <n> denotes a positive integer value and <S> the symbol of a chemical element):
The error handling behaviour of a JMEMoleculeReader
instance can be configured with the following control-parameter: