73 const std_msgs::ColorRGBA& pSecondColor)
76 std_msgs::ColorRGBA color;
77 color.r = color.g = color.b = 0.3;
89 if(pCertainty < 0.0 && pCertainty > 1.0)
90 throw std::out_of_range(
"Certainty is out of range ('" + boost::lexical_cast<std::string>(pCertainty) +
"').");
106 throw std::out_of_range(
"Invalid pointer: last observation of associated scene object pose.");
115 throw std::out_of_range(
"Invalid pointer: absolute pose of primary scene object.");
130 throw std::out_of_range(
"Invalid pointer: absolute pose of primary scene object.");
137 const std::vector<Eigen::Vector3d>& pAbsoluteSamples,
138 const std::vector<Eigen::Vector3d>& pAbsoluteParentSamples)
156 throw std::out_of_range(
"Invalid pointer: mean vector.");
160 throw std::out_of_range(
"Invalid pointer: covariance matrix.");
163 mKernels.push_back(std::pair<Eigen::Vector3d, Eigen::Matrix3d>(*pMean, *pCovariance));
170 throw std::invalid_argument(
"Empty ros::publisher cannot be used to publish marker messages.");
179 for(std::pair<Eigen::Vector3d, Eigen::Matrix3d> kernel :
mKernels)
188 throw std::invalid_argument(
"Empty ros::publisher cannot be used to publish marker messages.");
203 throw std::invalid_argument(
"Empty ros::publisher cannot be used to publish marker messages.");
218 throw std::invalid_argument(
"Empty ros::publisher cannot be used to publish marker messages.");
235 throw std::invalid_argument(
"Empty ros::publisher cannot be used to publish marker messages.");
std::vector< Eigen::Vector3d > mAbsoluteSamples
void setSigmaMultiplicator(const float pSigmaMultiplicator)
void setDetectionCertainty(double pCertainty)
void setNamespace(std::string pNamespace)
std::vector< std::pair< Eigen::Vector3d, Eigen::Matrix3d > > mKernels
CoordinateFrameVisualizer visualizerFrame
void publishLink(boost::shared_ptr< ros::Publisher > pPublisher, unsigned int &pMarkerId, const Eigen::Vector3d pFrom, const Eigen::Vector3d pTo, double pQualityOfMatch)
~ProbabilisticSecondarySceneObjectVisualization()
KinematicChainVisualizer visualizerKinematics
boost::shared_ptr< ISM::Pose > mParentPose
void visualizeAbsoluteTrajectory(unsigned int &pMarkerId)
void setLastPose(boost::shared_ptr< ISM::Pose > pPose)
void setParentPose(boost::shared_ptr< ISM::Pose > pPose)
void setFrameId(std::string pFrameId)
GaussianKernelVisualizer visualizerKernel
void setColors(const std_msgs::ColorRGBA &pFirstRingColor, const std_msgs::ColorRGBA &pSecondRingColor)
void setParentPose(boost::shared_ptr< ISM::Pose > pPose)
void visualizeGaussianKernels(unsigned int &pMarkerId)
void visualizeKinematicChain(unsigned int &pMarkerId)
void setDrawingParameters(const double pScale, const float pSigmaMultiplicator, const std::string pFrameId)
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
std::vector< Eigen::Vector3d > mAbsoluteParentSamples
boost::shared_ptr< ISM::Pose > mBestPose
void setBestPoseCandidate(double pScore)
void overwriteLastBestPose()
boost::shared_ptr< ISM::Pose > mBestCandidatePose
void setNamespace(std::string pNamespace)
void setAbsoluteLearningSamples(const std::vector< Eigen::Vector3d > &pRelativeSamples, const std::vector< Eigen::Vector3d > &pAbsoluteSamples, const std::vector< Eigen::Vector3d > &pAbsoluteParentSamples)
void visualizeRelativeTrajectory(unsigned int &pMarkerId)
void publishTrajectory(boost::shared_ptr< ros::Publisher > pPublisher, unsigned int &pMarkerId, const std::vector< Eigen::Vector3d > &pSamples)
ProbabilisticSecondarySceneObjectVisualization()
void appendKernel(const boost::shared_ptr< Eigen::Vector3d > &pMean, const boost::shared_ptr< Eigen::Matrix3d > &pCovariance)
void visualizeObjectPositionAsArrow(unsigned int &pMarkerId)
void setBestCandidatePose(boost::shared_ptr< ISM::Pose > pPose)
void setParentPose(boost::shared_ptr< ISM::Pose > pPose)
void publishKernel(boost::shared_ptr< ros::Publisher > pPublisher, unsigned int &pMarkerId, const Eigen::Vector3d &pMean, const Eigen::Matrix3d &pCovariance)
void setColors(const std_msgs::ColorRGBA &pFirstColor, const std_msgs::ColorRGBA &pSecondColor, const std_msgs::ColorRGBA &pThirdColor)
boost::shared_ptr< ISM::Pose > mLastObjectPose
SampleVisualizer visualizerSamples
boost::shared_ptr< ros::Publisher > mPublisher
double mBestScoreCandidate
void setScaleFactor(const double pScaleFactor)
void publishObjectPositionAsArrow(boost::shared_ptr< ros::Publisher > pPublisher, unsigned int &pMarkerId, const boost::shared_ptr< ISM::Pose > pPose, double pQualityOfMatch)
std::vector< Eigen::Vector3d > mRelativeSamples