/// <summary>
 /// Create a negation of <paramref name="expression"/>.
 /// </summary>
 /// <param name="expression">the expression to negate</param>
 public Negation(IQueryAtom expression)
     : base()
 {
     this.expression = (SMARTSAtom)expression;
     this.chiral     = expression.GetType().Equals(typeof(ChiralityAtom));
     base.Left       = expression;
     base.Operator   = "not";
 }
 /// <summary>
 /// Create a disjunction of <see cref="Left"/> or <see cref="right"/>.
 /// </summary>
 /// <param name="left">the expression to negate</param>
 /// <param name="right">the expression to negate</param>
 public Disjunction(IQueryAtom left, IQueryAtom right)
     : base()
 {
     this.left     = (SMARTSAtom)left;
     this.right    = (SMARTSAtom)right;
     base.Left     = left;
     base.Right    = right;
     base.Operator = "or";
 }
Beispiel #3
0
 /// <summary>
 /// Create a disjunction of <see cref="Left"/> or <see cref="right"/>.
 /// </summary>
 /// <param name="builder">chem object builder</param>
 /// <param name="left">the expression to negate</param>
 /// <param name="right">the expression to negate</param>
 public Disjunction(IChemObjectBuilder builder, IQueryAtom left, IQueryAtom right)
     : base(builder)
 {
     this.left     = (SMARTSAtom)left;
     this.right    = (SMARTSAtom)right;
     base.Left     = left;
     base.Right    = right;
     base.Operator = "or";
 }