Switch to dynamic pointer cast
parent
911e46b0a0
commit
c984a5ffa2
|
|
@ -131,34 +131,29 @@ class GTSAM_EXPORT HybridConditional
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Return HybridConditional as a GaussianMixture
|
* @brief Return HybridConditional as a GaussianMixture
|
||||||
*
|
* @return nullptr if not a mixture
|
||||||
* @return GaussianMixture::shared_ptr
|
* @return GaussianMixture::shared_ptr otherwise
|
||||||
*/
|
*/
|
||||||
GaussianMixture::shared_ptr asMixture() {
|
GaussianMixture::shared_ptr asMixture() {
|
||||||
if (!isHybrid()) throw std::invalid_argument("Not a mixture");
|
return boost::dynamic_pointer_cast<GaussianMixture>(inner_);
|
||||||
return boost::static_pointer_cast<GaussianMixture>(inner_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Return HybridConditional as a GaussianConditional
|
* @brief Return HybridConditional as a GaussianConditional
|
||||||
*
|
* @return nullptr if not a GaussianConditional
|
||||||
* @return GaussianConditional::shared_ptr
|
* @return GaussianConditional::shared_ptr otherwise
|
||||||
*/
|
*/
|
||||||
GaussianConditional::shared_ptr asGaussian() {
|
GaussianConditional::shared_ptr asGaussian() {
|
||||||
if (!isContinuous())
|
return boost::dynamic_pointer_cast<GaussianConditional>(inner_);
|
||||||
throw std::invalid_argument("Not a continuous conditional");
|
|
||||||
return boost::static_pointer_cast<GaussianConditional>(inner_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Return conditional as a DiscreteConditional
|
* @brief Return conditional as a DiscreteConditional
|
||||||
*
|
* @return nullptr if not a DiscreteConditional
|
||||||
* @return DiscreteConditional::shared_ptr
|
* @return DiscreteConditional::shared_ptr
|
||||||
*/
|
*/
|
||||||
DiscreteConditional::shared_ptr asDiscreteConditional() {
|
DiscreteConditional::shared_ptr asDiscrete() {
|
||||||
if (!isDiscrete())
|
return boost::dynamic_pointer_cast<DiscreteConditional>(inner_);
|
||||||
throw std::invalid_argument("Not a discrete conditional");
|
|
||||||
return boost::static_pointer_cast<DiscreteConditional>(inner_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue