Simox  2.3.74.0
VirtualRobot::CameraSensor Class Reference
Inheritance diagram for VirtualRobot::CameraSensor:
VirtualRobot::Sensor VirtualRobot::SceneObject

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW CameraSensor (GraspableSensorizedObjectWeakPtr parentNode, const std::string &name, VisualizationNodePtr visualization=VisualizationNodePtr(), const Eigen::Matrix4f &rnTrafo=Eigen::Matrix4f::Identity())
 
 ~CameraSensor () override
 
void print (bool printChildren=false, bool printDecoration=true) const override
 
std::string toXML (const std::string &modelPath, int tabs) override
 
- Public Member Functions inherited from VirtualRobot::Sensor
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Sensor (GraspableSensorizedObjectWeakPtr parentNode, const std::string &name, VisualizationNodePtr visualization=VisualizationNodePtr(), const Eigen::Matrix4f &rnTrafo=Eigen::Matrix4f::Identity())
 
 ~Sensor () override
 
RobotNodePtr getRobotNode () const
 
GraspableSensorizedObjectPtr getParentNode () const
 
virtual Eigen::Matrix4f getParentNodeToSensorTransformation ()
 
virtual void setRobotNodeToSensorTransformation (const Eigen::Matrix4f &t)
 
void setGlobalPose (const Eigen::Matrix4f &pose) override
 
void print (bool printChildren=false, bool printDecoration=true) const override
 
virtual SensorPtr clone (GraspableSensorizedObjectPtr newNode, float scaling=1.0f)
 
SceneObjectPtr clone (const std::string &, CollisionCheckerPtr=CollisionCheckerPtr(), float=1.0f) const
 Forbid cloning method from SceneObject. We need to know the new parent node for cloning. More...
 
void updatePose (bool updateChildren=true) override
 
bool initialize (SceneObjectPtr parent=SceneObjectPtr(), const std::vector< SceneObjectPtr > &children=std::vector< SceneObjectPtr >()) override
 
- Public Member Functions inherited from VirtualRobot::SceneObject
 SceneObject (const std::string &name, VisualizationNodePtr visualization=VisualizationNodePtr(), CollisionModelPtr collisionModel=CollisionModelPtr(), const Physics &p=Physics(), CollisionCheckerPtr colChecker=CollisionCheckerPtr())
 
virtual ~SceneObject ()
 
std::string getName () const
 
void setName (const std::string &name)
 
virtual Eigen::Matrix4f getGlobalPose () const
 
virtual Eigen::Vector3f getGlobalPosition () const
 
virtual Eigen::Matrix3f getGlobalOrientation () const
 
virtual Eigen::Matrix4f getGlobalPose (const Eigen::Matrix4f &localPose) const
 
virtual Eigen::Vector3f getGlobalPosition (const Eigen::Vector3f &localPosition) const
 
virtual Eigen::Vector3f getGlobalDirection (const Eigen::Vector3f &localDircetion) const
 
virtual Eigen::Matrix3f getGlobalOrientation (const Eigen::Matrix3f &localOrientation) const
 
virtual void setGlobalPoseNoChecks (const Eigen::Matrix4f &pose)
 
virtual CollisionModelPtr getCollisionModel ()
 
virtual CollisionCheckerPtr getCollisionChecker ()
 
void setVisualization (VisualizationNodePtr visualization)
 
void setCollisionModel (CollisionModelPtr colModel)
 
virtual VisualizationNodePtr getVisualization (SceneObject::VisualizationType visuType=SceneObject::Full)
 
virtual void setUpdateVisualization (bool enable)
 
bool getUpdateVisualizationStatus ()
 
virtual void setUpdateCollisionModel (bool enable)
 
bool getUpdateCollisionModelStatus ()
 
virtual void setupVisualization (bool showVisualization, bool showAttachedVisualizations)
 
virtual void showCoordinateSystem (bool enable, float scaling=1.0f, std::string *text=NULL, const std::string &visualizationType="")
 
virtual void showPhysicsInformation (bool enableCoM, bool enableInertial, VisualizationNodePtr comModel=VisualizationNodePtr())
 
virtual bool showCoordinateSystemState ()
 
virtual void showBoundingBox (bool enable, bool wireframe=false)
 
virtual bool ensureVisualization (const std::string &visualizationType="")
 
Eigen::Matrix4f toLocalCoordinateSystem (const Eigen::Matrix4f &poseGlobal) const
 
Eigen::Vector3f toLocalCoordinateSystemVec (const Eigen::Vector3f &positionGlobal) const
 
Eigen::Matrix4f toGlobalCoordinateSystem (const Eigen::Matrix4f &poseLocal) const
 
Eigen::Vector3f toGlobalCoordinateSystemVec (const Eigen::Vector3f &positionLocal) const
 
Eigen::Matrix4f getTransformationTo (const SceneObjectPtr otherObject) const
 
Eigen::Matrix4f getTransformationFrom (const SceneObjectPtr otherObject) const
 
Eigen::Matrix4f transformTo (const SceneObjectPtr otherObject, const Eigen::Matrix4f &poseInOtherCoordSystem)
 
Eigen::Vector3f transformTo (const SceneObjectPtr otherObject, const Eigen::Vector3f &positionInOtherCoordSystem)
 
virtual int getNumFaces (bool collisionModel=false)
 
virtual Eigen::Vector3f getCoMLocal ()
 
void setCoMLocal (const Eigen::Vector3f &comLocal)
 Set a new position for the CoM of this bode. More...
 
virtual Eigen::Vector3f getCoMGlobal ()
 
float getMass () const
 
void setMass (float m)
 
Physics::SimulationType getSimulationType () const
 
void setSimulationType (Physics::SimulationType s)
 
Eigen::Matrix3f getInertiaMatrix ()
 
Eigen::Matrix3f getInertiaMatrix (const Eigen::Vector3f &shift)
 If the Inertia Matrix is given at the CoM, this function returns the Inertia Matrix at the parallel shifted coordinate system. The shift is done using the parallel axis theorem (https://en.wikipedia.org/wiki/Parallel_axis_theorem) More...
 
Eigen::Matrix3f getInertiaMatrix (const Eigen::Vector3f &shift, const Eigen::Matrix3f &rotation)
 
Eigen::Matrix3f getInertiaMatrix (const Eigen::Matrix4f &transform)
 
void setInertiaMatrix (const Eigen::Matrix3f &im)
 
float getFriction ()
 
void setFriction (float friction)
 
SceneObject::Physics getPhysics ()
 
std::vector< std::string > getIgnoredCollisionModels ()
 
template<typename T >
std::shared_ptr< T > getVisualization (SceneObject::VisualizationType visuType=SceneObject::Full)
 
void highlight (VisualizationPtr visualization, bool enable)
 
SceneObjectPtr clone (const std::string &name, CollisionCheckerPtr colChecker=CollisionCheckerPtr(), float scaling=1.0f) const
 
SceneObjectPtr clone (CollisionCheckerPtr colChecker=CollisionCheckerPtr(), float scaling=1.0f) const
 
virtual bool attachChild (SceneObjectPtr child)
 
virtual void detachChild (SceneObjectPtr child)
 
virtual bool hasChild (SceneObjectPtr child, bool recursive=false) const
 
virtual bool hasChild (const std::string &childName, bool recursive=false) const
 
virtual bool hasParent () const
 
virtual SceneObjectPtr getParent () const
 
virtual std::vector< SceneObjectPtrgetChildren () const
 
virtual void copyPoseFrom (const SceneObjectPtr &other)
 
virtual bool saveModelFiles (const std::string &modelPath, bool replaceFilenames)
 
void setScaling (float scaling)
 
float getScaling ()
 
bool reloadVisualizationFromXML (bool useVisAsColModelIfMissing=true)
 
const std::string & getVisualizationModelXML () const
 

Protected Member Functions

 CameraSensor ()
 
SensorPtr _clone (const GraspableSensorizedObjectPtr newNode, const VisualizationNodePtr visualizationModel, float scaling) override
 
- Protected Member Functions inherited from VirtualRobot::Sensor
void updatePose (const Eigen::Matrix4f &parentPose, bool updateChildren=true) override
 
 Sensor ()
 
SceneObject_clone (const std::string &, CollisionCheckerPtr=CollisionCheckerPtr(), float=1.0f) const override
 
- Protected Member Functions inherited from VirtualRobot::SceneObject
virtual void detachedFromParent ()
 Parent detached this object. More...
 
virtual void attached (SceneObjectPtr parent)
 Parent attached this object. More...
 
std::string getFilenameReplacementVisuModel (const std::string standardExtension=".wrl")
 
std::string getFilenameReplacementColModel (const std::string standardExtension=".wrl")
 
 SceneObject ()
 
std::string getSceneObjectXMLString (const std::string &basePath, int tabs, const std::string &modelPathRelative="")
 basic data, used by Obstacle and ManipulationObject More...
 
virtual bool initializePhysics ()
 

Friends

class Robot
 
class RobotIO
 

Additional Inherited Members

- Public Types inherited from VirtualRobot::SceneObject
enum  VisualizationType { Full, Collision, CollisionData }
 
- Static Public Member Functions inherited from VirtualRobot::SceneObject
static Eigen::Matrix3f shiftInertia (const Eigen::Matrix3f inertiaMatrix, const Eigen::Vector3f &shift, float mass)
 The shift is done using the parallel axis theorem (https://en.wikipedia.org/wiki/Parallel_axis_theorem) More...
 
- Protected Attributes inherited from VirtualRobot::Sensor
Eigen::Matrix4f rnTransformation
 
GraspableSensorizedObjectWeakPtr parentNode
 
- Protected Attributes inherited from VirtualRobot::SceneObject
std::string name
 
bool initialized
 
Eigen::Matrix4f globalPose
 
std::vector< SceneObjectPtrchildren
 
SceneObjectWeakPtr parent
 
CollisionModelPtr collisionModel
 
std::string collisionModelXML
 
VisualizationNodePtr visualizationModel
 
std::string visualizationModelXML
 
std::filesystem::path basePath
 
bool updateVisualization
 
bool updateCollisionModel
 
Physics physics
 
CollisionCheckerPtr collisionChecker
 
float scaling = 1.0f
 

Detailed Description

A sensor for capturing simulated camera images.

Constructor & Destructor Documentation

◆ CameraSensor() [1/2]

VirtualRobot::CameraSensor::CameraSensor ( GraspableSensorizedObjectWeakPtr  parentNode,
const std::string &  name,
VisualizationNodePtr  visualization = VisualizationNodePtr(),
const Eigen::Matrix4f &  rnTrafo = Eigen::Matrix4f::Identity() 
)

Constructor with settings.

◆ ~CameraSensor()

VirtualRobot::CameraSensor::~CameraSensor ( )
overridedefault

◆ CameraSensor() [2/2]

VirtualRobot::CameraSensor::CameraSensor ( )
inlineprotected

Member Function Documentation

◆ _clone()

SensorPtr VirtualRobot::CameraSensor::_clone ( const GraspableSensorizedObjectPtr  newNode,
const VisualizationNodePtr  visualizationModel,
float  scaling 
)
overrideprotectedvirtual

Derived classes must implement their clone method here.

Implements VirtualRobot::Sensor.

◆ print()

void VirtualRobot::CameraSensor::print ( bool  printChildren = false,
bool  printDecoration = true 
) const
overridevirtual

Print status information.

Reimplemented from VirtualRobot::SceneObject.

◆ toXML()

std::string VirtualRobot::CameraSensor::toXML ( const std::string &  modelPath,
int  tabs 
)
overridevirtual

Reimplemented from VirtualRobot::Sensor.

Friends And Related Function Documentation

◆ Robot

friend class Robot
friend

◆ RobotIO

friend class RobotIO
friend