Frustum Struct Reference

A symmetric view frustum. More...

#include <ArmarXSimulation/components/FakeObjectDetector/VisibilityCheck.h>

Public Member Functions

bool contains (const Eigen::Vector3f &globalPoint) const
 Whether a global point lies inside the frustum.
 
Eigen::Vector3f position () const
 
Eigen::Vector3f toViewFrame (const Eigen::Vector3f &globalPoint) const
 Express a global point in the camera's viewing frame.
 

Public Attributes

Eigen::Matrix4f cameraPose = Eigen::Matrix4f::Identity()
 Camera -> global.
 
Eigen::Vector3f forwardLocal = Eigen::Vector3f::UnitZ()
 Viewing axis in the camera's local frame.
 
float horizontalFov = 1.0F
 Full opening angles [rad].
 
float maxDistance = 1e6F
 
float minDistance = 0.0F
 Detection range along the viewing axis [mm].
 
Eigen::Vector3f upLocal = -Eigen::Vector3f::UnitY()
 Up axis in the camera's local frame.
 
float verticalFov = 1.0F
 

Detailed Description

A symmetric view frustum.

The camera looks along forwardLocal in its own frame. ArmarX/Simox render cameras (the *Sim robot nodes) look along +Z with +X pointing up, see VirtualRobot::CoinVisualizationFactory; the defaults reflect that.

Member Function Documentation

◆ contains()

bool contains ( const Eigen::Vector3f & globalPoint) const

Whether a global point lies inside the frustum.

◆ position()

Eigen::Vector3f position ( ) const

◆ toViewFrame()

Eigen::Vector3f toViewFrame ( const Eigen::Vector3f & globalPoint) const

Express a global point in the camera's viewing frame.

Returns
(depth along forward, lateral along right, lateral along up).

Member Data Documentation

◆ cameraPose

Eigen::Matrix4f cameraPose = Eigen::Matrix4f::Identity()

Camera -> global.

◆ forwardLocal

Eigen::Vector3f forwardLocal = Eigen::Vector3f::UnitZ()

Viewing axis in the camera's local frame.

◆ horizontalFov

float horizontalFov = 1.0F

Full opening angles [rad].

◆ maxDistance

float maxDistance = 1e6F

◆ minDistance

float minDistance = 0.0F

Detection range along the viewing axis [mm].

◆ upLocal

Eigen::Vector3f upLocal = -Eigen::Vector3f::UnitY()

Up axis in the camera's local frame.

◆ verticalFov

float verticalFov = 1.0F

The documentation for this struct was generated from the following files: