/// <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"; }
/// <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"; }