11#include <boost/python/class.hpp>
12#include <boost/python/copy_const_reference.hpp>
13#include <boost/python/register_ptr_to_python.hpp>
14#include <boost/python/return_value_policy.hpp>
37 register_ptr_to_python<std::shared_ptr<IComponent>>();
38 register_ptr_to_python<std::shared_ptr<const IComponent>>();
40 class_<IComponent, boost::noncopyable>(
"IComponent", no_init)
41 .def(
"getPos", &
IComponent::getPos, arg(
"self"),
"Returns the absolute position of the component")
42 .def(
"getDistance", &getDistance, (arg(
"self"), arg(
"other")),
43 "Returns the distance, in metres, "
44 "between this and the given component")
47 .def(
"type", &
IComponent::type, arg(
"self"),
"Returns the type of the component represented as a string")
#define GET_POINTER_SPECIALIZATION(TYPE)
base class for Geometric IComponent
virtual Kernel::V3D getPos() const =0
Get the position of the IComponent. Tree structure is traverse through the.
virtual std::string type() const
Returns a string representation of the IComponent type.
virtual double getDistance(const IComponent &) const =0
Get the distance to another IComponent.
virtual Kernel::Quat getRelativeRot() const =0
Get the relative Orientation.
virtual std::string getFullName() const =0
Get the IComponent full path name.
virtual std::string getName() const =0
Get the IComponent name.