|
Mantid
|
#include <Rules.h>
Public Member Functions | |
| BoolValue () | |
| Constructor. More... | |
| std::string | className () const override |
| Returns class name as string. More... | |
| std::unique_ptr< BoolValue > | clone () const |
| Clone constructor. More... | |
| std::string | display () const override |
| std::string | displayAddress () const override |
| Returns the memory address as a string. More... | |
| Rule * | findKey (const int) override |
| Abstract key find. More... | |
| int | findLeaf (const Rule *) const override |
| Abstract find. More... | |
| void | getBoundingBox (double &xmax, double &ymax, double &zmax, double &xmin, double &ymin, double &zmin) override |
| gets the bounding box for the BoolValue Rule More... | |
| bool | isValid (const Kernel::V3D &) const override |
| Determines if a point is valid. More... | |
| bool | isValid (const std::map< int, int > &) const override |
| isValue :: Based on a surface status map More... | |
| Rule * | leaf (const int=0) const override |
| No leaves. More... | |
| void | setLeaf (std::unique_ptr< Rule >, const int=0) override |
| Replaces a leaf with a rule. More... | |
| void | setLeaves (std::unique_ptr< Rule >, std::unique_ptr< Rule >) override |
| Replaces a leaf with a rule. More... | |
| void | setStatus (int val) |
| < write val into status, if in valid range More... | |
| int | simplify () override |
| Bool value is always in simplest form. More... | |
| int | type () const override |
| Null rule. More... | |
Public Member Functions inherited from Mantid::Geometry::Rule | |
| int | checkParents () const |
| Debug test for parents. More... | |
| virtual std::string | className () const |
| Returns class name as string. More... | |
| std::unique_ptr< Rule > | clone () const |
| int | commonType () const |
| Gets a common type. More... | |
| virtual std::string | display () const =0 |
| Abstract Display. More... | |
| virtual std::string | displayAddress () const =0 |
| Abstract Display Address. More... | |
| int | Eliminate () |
| elimination not written More... | |
| virtual Rule * | findKey (const int)=0 |
| Abstract key find. More... | |
| virtual int | findLeaf (const Rule *) const =0 |
| Abstract find. More... | |
| virtual void | getBoundingBox (double &xmax, double &ymax, double &zmax, double &xmin, double &ymin, double &zmin)=0 |
| Abstract getBoundingBox. More... | |
| int | getKeyList (std::vector< int > &) const |
| Generate the key list given an insertion type object. More... | |
| Rule * | getParent () const |
| Returns the parent object. More... | |
| virtual int | isComplementary () const |
| Always returns false (0) More... | |
| virtual bool | isValid (const Kernel::V3D &) const =0 |
| Abstract: The point is within the object. More... | |
| virtual bool | isValid (const std::map< int, int > &) const =0 |
| Abstract Validity based on surface true/false map. More... | |
| virtual Rule * | leaf (const int=0) const |
| No leaf for a base rule. More... | |
| void | makeParents () |
| This is initialisation code that populates all the parents in the rule tree. More... | |
| Rule () | |
| Standard Constructor. More... | |
| Rule (Rule *) | |
| Constructor copies. More... | |
| virtual void | setLeaf (std::unique_ptr< Rule >, const int=0)=0 |
| Abstract set. More... | |
| virtual void | setLeaves (std::unique_ptr< Rule >, std::unique_ptr< Rule >)=0 |
| abstract set leaves More... | |
| void | setParent (Rule *) |
| Sets the parent object (not check for A==this) More... | |
| virtual int | simplify ()=0 |
| Abstract: Can the rule be simplified. More... | |
| int | substituteSurf (const int SurfN, const int newSurfN, const std::shared_ptr< Surface > &SPtr) |
| Substitues a surface item if within a rule. More... | |
| virtual int | type () const |
| Null rule. More... | |
| virtual | ~Rule ()=default |
Protected Member Functions | |
| BoolValue (const BoolValue &)=default | |
| BoolValue & | operator= (const BoolValue &) |
| Assignment operator. More... | |
Protected Member Functions inherited from Mantid::Geometry::Rule | |
| Rule & | operator= (const Rule &) |
| Assignment operator= does not set parent as Rules are cloned. More... | |
| Rule (const Rule &) | |
| Constructor copies. More... | |
Private Member Functions | |
| BoolValue * | doClone () const override |
| Clone constructor. More... | |
Private Attributes | |
| int | status |
| Three values 0 False : 1 True : -1 doesn't matter. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Mantid::Geometry::Rule | |
| static int | makeCNF (std::unique_ptr< Rule > &) |
| Make Rule into a CNF format. More... | |
| static int | makeCNFcopy (std::unique_ptr< Rule > &) |
| Make Rule into a CNF format (slow) More... | |
| static int | makeFullDNF (std::unique_ptr< Rule > &) |
| Make Rule into a full DNF format. More... | |
| static int | removeComplementary (std::unique_ptr< Rule > &) |
| NOT WORKING. More... | |
| static int | removeItem (std::unique_ptr< Rule > &TRule, const int SurfN) |
| Given an item as a surface name, remove the surface from the Rule tree. More... | |
Rule Status class.
Class to handle a rule with a truth value but can be true/false/unknown.
|
protecteddefault |
| Mantid::Geometry::BoolValue::BoolValue | ( | ) |
|
inlineoverridevirtual |
Returns class name as string.
Reimplemented from Mantid::Geometry::Rule.
| std::unique_ptr< BoolValue > Mantid::Geometry::BoolValue::clone | ( | ) | const |
Clone constructor.
Definition at line 1211 of file RuleItems.cpp.
References doClone().
|
overridevirtual |
Implements Mantid::Geometry::Rule.
Definition at line 1283 of file RuleItems.cpp.
References status.
|
overridevirtual |
Returns the memory address as a string.
Implements Mantid::Geometry::Rule.
Definition at line 1299 of file RuleItems.cpp.
|
overrideprivatevirtual |
Clone constructor.
Implements Mantid::Geometry::Rule.
Definition at line 1202 of file RuleItems.cpp.
References BoolValue().
Referenced by clone().
|
inlineoverridevirtual |
|
overridevirtual |
|
overridevirtual |
gets the bounding box for the BoolValue Rule
| xmax | :: Maximum value for the bounding box in x direction |
| ymax | :: Maximum value for the bounding box in y direction |
| zmax | :: Maximum value for the bounding box in z direction |
| xmin | :: Minimum value for the bounding box in x direction |
| ymin | :: Minimum value for the bounding box in y direction |
| zmin | :: Minimum value for the bounding box in z direction |
Implements Mantid::Geometry::Rule.
Definition at line 1320 of file RuleItems.cpp.
|
overridevirtual |
Determines if a point is valid.
| pt | :: Point to test |
Implements Mantid::Geometry::Rule.
Definition at line 1252 of file RuleItems.cpp.
|
overridevirtual |
isValue :: Based on a surface status map
Determines if a point is valid.
| map | :: map of surface number and true values |
Implements Mantid::Geometry::Rule.
Definition at line 1263 of file RuleItems.cpp.
|
inlineoverridevirtual |
Assignment operator.
| A | :: BoolValue to copy |
Definition at line 1188 of file RuleItems.cpp.
References Mantid::Geometry::Rule::operator=(), and status.
|
overridevirtual |
Replaces a leaf with a rule.
This REQUIRES that aR is of type SurfPoint
| aR | :: new rule |
secont argument ignored ( Null side point)
Implements Mantid::Geometry::Rule.
Definition at line 1220 of file RuleItems.cpp.
|
overridevirtual |
Replaces a leaf with a rule.
This REQUIRES that aR is of type SurfPoint
| aR | :: new rule |
| oR | :: Null other rule |
Implements Mantid::Geometry::Rule.
Definition at line 1235 of file RuleItems.cpp.
|
inline |
|
overridevirtual |
Bool value is always in simplest form.
Implements Mantid::Geometry::Rule.
Definition at line 1274 of file RuleItems.cpp.
|
inlineoverridevirtual |
|
private |
Three values 0 False : 1 True : -1 doesn't matter.
Definition at line 365 of file Rules.h.
Referenced by display(), and operator=().