HierarchicalShapeModelNode.h
Go to the documentation of this file.
1 
18 #pragma once
19 
20 // Package includes
21 #include <Eigen/Core>
22 #include <Eigen/Geometry>
23 
24 #include <boost/foreach.hpp>
25 #include <boost/shared_ptr.hpp>
26 #include <boost/property_tree/ptree.hpp>
27 
28 #include <asr_msgs/AsrObject.h>
29 
30 #include <Pose.h>
31 
32 #include <visualization/psm/ProbabilisticPrimarySceneObjectVisualization.h>
33 #include <visualization/psm/ProbabilisticSecondarySceneObjectVisualization.h>
34 
35 // Local includes
37 #include <ISM/common_type/Pose.hpp>
38 #include <ISM/common_type/Object.hpp>
39 
41 
42 
44 
49  public:
50 
56  HierarchicalShapeModelNode(boost::property_tree::ptree& pPt, unsigned int& pID);
57 
62 
68  void load(boost::property_tree::ptree& pPt, unsigned int& pID);
69 
76 
83 
94  double calculateProbabilityForHypothesis(std::vector<ISM::Object> pEvidenceList, std::vector<unsigned int> pAssignments, unsigned int& pSlotId, bool pCut,
95  std::vector<boost::shared_ptr<ConditionalProbability>>& pConditionalProbabilities);
96 
102  void visualize(std::vector<ISM::Object> pEvidenceList);
103 
107  unsigned int getNumberOfNodes();
108 
114  bool isReference(unsigned int& pReferenceTo);
115 
120  std::vector<boost::shared_ptr<HierarchicalShapeModelNode>> getChildren();
121 
127 
131  void resetVisit();
132 
137  std::string getSceneObjectType() { return mSceneObject; }
138 
143  void setParentObjectType(const std::string& pParentObject) { mParentObject = pParentObject; }
144 
145  private:
146 
150  std::string mSceneObject;
151 
156 
161 
166 
171 
176 
180  std::vector<Eigen::Vector3d> mRawData;
181 
185  std::vector<boost::shared_ptr<HierarchicalShapeModelNode>> mChildren;
186 
191 
201  unsigned int mReferenceTo;
202 
207 
213 
217  std::string mParentObject;
218  };
219 }
boost::shared_ptr< HierarchicalShapeModelNode > mReferencedNode
void visualize(std::vector< ISM::Object > pEvidenceList)
std::vector< boost::shared_ptr< HierarchicalShapeModelNode > > getChildren()
boost::shared_ptr< GaussianMixtureDistribution > mGaussianMixtureDistributionPosition
boost::shared_ptr< Visualization::ProbabilisticSecondarySceneObjectVisualization > mVisualizer
HierarchicalShapeModelNode(boost::property_tree::ptree &pPt, unsigned int &pID)
double calculateProbabilityForHypothesis(std::vector< ISM::Object > pEvidenceList, std::vector< unsigned int > pAssignments, unsigned int &pSlotId, bool pCut, std::vector< boost::shared_ptr< ConditionalProbability >> &pConditionalProbabilities)
void initializeVisualizer(boost::shared_ptr< Visualization::ProbabilisticPrimarySceneObjectVisualization > mSuperior)
boost::shared_ptr< GaussianMixtureDistribution > mGaussianMixtureDistributionOrientation
void setAbsoluteParentPose(boost::shared_ptr< ISM::Pose > pPose)
std::vector< boost::shared_ptr< HierarchicalShapeModelNode > > mChildren
void load(boost::property_tree::ptree &pPt, unsigned int &pID)
void setReferencedNode(boost::shared_ptr< HierarchicalShapeModelNode > pReferencedNode)


asr_psm
Author(s): Braun Kai, Gehrung Joachim, Heizmann Heinrich, Meißner Pascal
autogenerated on Fri Nov 15 2019 03:57:54