gtsam  4.0.0
gtsam
gtsam::Domain Class Reference

Detailed Description

Domain restriction constraint.

+ Inheritance diagram for gtsam::Domain:

Public Member Functions

 Domain (const DiscreteKey &dkey)
 
 Domain (const DiscreteKey &dkey, size_t v)
 
 Domain (const Domain &other)
 Constructor.
 
void insert (size_t value)
 insert a value, non const :-(
 
void erase (size_t value)
 erase a value, non const :-(
 
size_t nrValues () const
 
bool isSingleton () const
 
size_t firstValue () const
 
virtual void print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const
 
bool equals (const DiscreteFactor &other, double tol) const
 equals
 
bool contains (size_t value) const
 
virtual double operator() (const Values &values) const
 Calculate value.
 
virtual DecisionTreeFactor toDecisionTreeFactor () const
 Convert into a decisiontree.
 
virtual DecisionTreeFactor operator * (const DecisionTreeFactor &f) const
 Multiply into a decisiontree.
 
bool ensureArcConsistency (size_t j, std::vector< Domain > &domains) const
 
bool checkAllDiff (const KeyVector keys, std::vector< Domain > &domains)
 Check for a value in domain that does not occur in any other connected domain. More...
 
virtual Constraint::shared_ptr partiallyApply (const Values &values) const
 Partially apply known values.
 
virtual Constraint::shared_ptr partiallyApply (const std::vector< Domain > &domains) const
 Partially apply known values, domain version.
 
- Public Member Functions inherited from gtsam::Constraint
 Constraint ()
 Default constructor for I/O.
 
virtual ~Constraint ()
 Virtual destructor.
 
- Public Member Functions inherited from gtsam::DiscreteFactor
 DiscreteFactor ()
 Default constructor creates empty factor.
 
template<typename CONTAINER >
 DiscreteFactor (const CONTAINER &keys)
 Construct from container of keys. More...
 
virtual ~DiscreteFactor ()
 Virtual destructor.
 
virtual bool empty () const
 Test whether the factor is empty.
 
- Public Member Functions inherited from gtsam::Factor
KeyVectorkeys ()
 
iterator begin ()
 Iterator at beginning of involved variable keys.
 
iterator end ()
 Iterator at end of involved variable keys.
 
void print (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print
 
void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys
 
Key front () const
 First key.
 
Key back () const
 Last key.
 
const_iterator find (Key key) const
 find
 
const KeyVectorkeys () const
 Access the factor's involved variable keys.
 
const_iterator begin () const
 Iterator at beginning of involved variable keys.
 
const_iterator end () const
 Iterator at end of involved variable keys.
 
size_t size () const
 

Public Types

typedef boost::shared_ptr< Domainshared_ptr
 allowed values
 
- Public Types inherited from gtsam::Constraint
typedef boost::shared_ptr< Constraintshared_ptr
 
- Public Types inherited from gtsam::DiscreteFactor
typedef DiscreteFactor This
 This class.
 
typedef boost::shared_ptr< DiscreteFactorshared_ptr
 shared_ptr to this class
 
typedef Factor Base
 Our base class.
 
typedef Assignment< KeyValues
 A map from keys to values TODO: Do we need this? Should we just use gtsam::Values? We just need another special DiscreteValue to represent labels, However, all other Lie's operators are undefined in this class. More...
 
typedef boost::shared_ptr< ValuessharedValues
 
- Public Types inherited from gtsam::Factor
typedef KeyVector::iterator iterator
 Iterator over keys.
 
typedef KeyVector::const_iterator const_iterator
 Const iterator over keys.
 

Additional Inherited Members

- Protected Member Functions inherited from gtsam::Constraint
 Constraint (const KeyVector &js)
 Construct n-way factor.
 
 Constraint (Key j)
 Construct unary factor.
 
 Constraint (Key j1, Key j2)
 Construct binary factor.
 
template<class KeyIterator >
 Constraint (KeyIterator beginKey, KeyIterator endKey)
 construct from container
 
- Protected Member Functions inherited from gtsam::Factor
 Factor ()
 Default constructor for I/O.
 
template<typename CONTAINER >
 Factor (const CONTAINER &keys)
 Construct factor from container of keys. More...
 
template<typename ITERATOR >
 Factor (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys. More...
 
bool equals (const This &other, double tol=1e-9) const
 check equality
 
- Static Protected Member Functions inherited from gtsam::Factor
template<typename CONTAINER >
static Factor FromKeys (const CONTAINER &keys)
 Construct factor from container of keys. More...
 
template<typename ITERATOR >
static Factor FromIterators (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys. More...
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor.
 

Member Function Documentation

◆ checkAllDiff()

bool gtsam::Domain::checkAllDiff ( const KeyVector  keys,
std::vector< Domain > &  domains 
)

Check for a value in domain that does not occur in any other connected domain.

If found, we make this a singleton... Called in AllDiff::ensureArcConsistency

Parameters
keysconnected domains through alldiff

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