36 namespace visualization {
67 const Eigen::Matrix4d &model_matrix = Eigen::Matrix4d::Identity());
73 void SetLookat(
const Eigen::Vector3d &lookat);
74 void SetUp(
const Eigen::Vector3d &up);
75 void SetFront(
const Eigen::Vector3d &front);
76 void SetZoom(
const double zoom);
93 bool allow_arbitrary =
false);
107 virtual void Scale(
double scale);
118 virtual void Rotate(
double x,
double y,
double xo = 0.0,
double yo = 0.0);
145 virtual void Roll(
double x);
gl_util::GLMatrix4f projection_matrix_
Definition: ViewControl.h:216
gl_util::GLMatrix4f GetMVPMatrix() const
Definition: ViewControl.h:163
static const double ROTATION_RADIAN_PER_PIXEL
Definition: ViewControl.h:53
double distance_
Definition: ViewControl.h:207
double z_near_
Definition: ViewControl.h:212
int Dimension() const
Returns whether the geometry is 2D or 3D.
Definition: Geometry.h:90
Eigen::Vector3d start_local_rotate_lookat_
Definition: ViewControl.h:225
virtual void ChangeFieldOfView(double step)
Definition: ViewControl.cpp:279
The base geometry class.
Definition: Geometry.h:37
void SetProjectionParameters()
Definition: ViewControl.cpp:262
void SetZoom(const double zoom)
Definition: ViewControl.cpp:143
gl_util::GLVector3f GetUp() const
Definition: ViewControl.h:171
void SetUp(const Eigen::Vector3d &up)
Definition: ViewControl.cpp:133
Eigen::Matrix< GLfloat, 4, 4, Eigen::ColMajor > GLMatrix4f
Definition: GLHelper.h:53
int window_width_
Definition: ViewControl.h:199
Eigen::Vector3d lookat_
Definition: ViewControl.h:203
Eigen::Vector3d start_local_rotate_up_
Definition: ViewControl.h:221
static const double ZOOM_MAX
Definition: ViewControl.h:50
ProjectionType
Definition: ViewControl.h:55
A bounding box that is aligned along the coordinate axes.
Definition: BoundingVolume.h:150
const geometry::AxisAlignedBoundingBox & GetBoundingBox() const
Definition: ViewControl.h:147
ProjectionType GetProjectionType() const
Definition: ViewControl.cpp:245
bool ConvertFromViewParameters(const ViewParameters &status)
Definition: ViewControl.cpp:116
virtual void ResetCameraLocalRotate()
Definition: ViewControl.cpp:375
View controller for visualizer.
Definition: ViewControl.h:41
void SetConstantZFar(double z_far)
Definition: ViewControl.h:188
int GetWindowWidth() const
Definition: ViewControl.h:174
void SetFront(const Eigen::Vector3d &front)
Definition: ViewControl.cpp:138
static const double FIELD_OF_VIEW_MAX
Definition: ViewControl.h:43
virtual void Scale(double scale)
Definition: ViewControl.cpp:294
gl_util::GLVector3f GetLookat() const
Definition: ViewControl.h:170
double z_far_
Definition: ViewControl.h:213
static const double ZOOM_DEFAULT
Definition: ViewControl.h:48
void ResetBoundingBox()
Definition: ViewControl.h:151
Definition: ViewControl.h:57
static const double FIELD_OF_VIEW_DEFAULT
Definition: ViewControl.h:45
gl_util::GLVector3f GetFront() const
Definition: ViewControl.h:172
gl_util::GLMatrix4f view_matrix_
Definition: ViewControl.h:217
double field_of_view_
Definition: ViewControl.h:208
Definition: ViewControl.h:56
Eigen::Vector3d start_local_rotate_front_
Definition: ViewControl.h:223
Eigen::Vector3d eye_
Definition: ViewControl.h:202
void SetViewMatrices(const Eigen::Matrix4d &model_matrix=Eigen::Matrix4d::Identity())
Definition: ViewControl.cpp:57
void UnsetConstantZNear()
Definition: ViewControl.h:192
virtual ~ViewControl()
Definition: ViewControl.h:61
gl_util::GLMatrix4f GetProjectionMatrix() const
Definition: ViewControl.h:164
Eigen::Vector3d start_local_rotate_right_
Definition: ViewControl.h:222
gl_util::GLMatrix4f MVP_matrix_
Definition: ViewControl.h:219
Eigen::Matrix< GLfloat, 3, 1, Eigen::ColMajor > GLVector3f
Definition: GLHelper.h:51
void UnsetConstantZFar()
Definition: ViewControl.h:196
The base geometry class for 3D geometries.
Definition: Geometry3D.h:46
Eigen::Vector3d right_
Definition: ViewControl.h:206
virtual void Translate(double x, double y, double xo=0.0, double yo=0.0)
Function to process translation.
Definition: ViewControl.cpp:313
virtual void ChangeWindowSize(int width, int height)
Definition: ViewControl.cpp:287
double GetZFar() const
Definition: ViewControl.h:177
bool ConvertFromPinholeCameraParameters(const camera::PinholeCameraParameters ¶meters, bool allow_arbitrary=false)
Definition: ViewControl.cpp:191
static const double FIELD_OF_VIEW_STEP
Definition: ViewControl.h:46
gl_util::GLMatrix4f GetViewMatrix() const
Definition: ViewControl.h:167
geometry::AxisAlignedBoundingBox bounding_box_
Definition: ViewControl.h:201
double GetZNear() const
Definition: ViewControl.h:176
static const double FIELD_OF_VIEW_MIN
Definition: ViewControl.h:44
static const double ZOOM_MIN
Definition: ViewControl.h:49
double aspect_
Definition: ViewControl.h:211
Contains both intrinsic and extrinsic pinhole camera parameters.
Definition: PinholeCameraParameters.h:40
void FitInGeometry(const geometry::Geometry &geometry)
Definition: ViewControl.h:153
double constant_z_far_
Definition: ViewControl.h:215
int window_height_
Definition: ViewControl.h:200
double local_rotate_up_accum_
Definition: ViewControl.h:226
int GetWindowHeight() const
Definition: ViewControl.h:175
Definition: PinholeCameraIntrinsic.cpp:35
double zoom_
Definition: ViewControl.h:209
virtual void Roll(double x)
Definition: ViewControl.cpp:385
void SetConstantZNear(double z_near)
Definition: ViewControl.h:183
double constant_z_near_
Definition: ViewControl.h:214
AxisAlignedBoundingBox & Clear() override
Clear all elements in the geometry.
Definition: BoundingVolume.cpp:196
int height
Definition: FilePCD.cpp:72
Eigen::Vector3d start_local_rotate_eye_
Definition: ViewControl.h:224
Eigen::Vector3d up_
Definition: ViewControl.h:204
virtual AxisAlignedBoundingBox GetAxisAlignedBoundingBox() const override
Returns an axis-aligned bounding box of the geometry.
Definition: BoundingVolume.cpp:216
Definition: ViewParameters.h:37
gl_util::GLMatrix4f GetModelMatrix() const
Definition: ViewControl.h:168
double view_ratio_
Definition: ViewControl.h:210
void SetLookat(const Eigen::Vector3d &lookat)
Definition: ViewControl.cpp:128
bool ConvertToViewParameters(ViewParameters &status) const
Function to get equivalent view parameters (support orthogonal)
Definition: ViewControl.cpp:105
gl_util::GLVector3f GetEye() const
Definition: ViewControl.h:169
virtual void Reset()
Definition: ViewControl.cpp:253
gl_util::GLMatrix4f model_matrix_
Definition: ViewControl.h:218
virtual void CameraLocalRotate(double x, double y, double xo=0.0, double yo=0.0)
Definition: ViewControl.cpp:332
Eigen::Vector3d front_
Definition: ViewControl.h:205
bool ConvertToPinholeCameraParameters(camera::PinholeCameraParameters ¶meters)
Definition: ViewControl.cpp:148
virtual void Rotate(double x, double y, double xo=0.0, double yo=0.0)
Function to process rotation.
Definition: ViewControl.cpp:299
double GetFieldOfView() const
Function to get field of view.
Definition: ViewControl.h:162
static const double ZOOM_STEP
Definition: ViewControl.h:51
double local_rotate_right_accum_
Definition: ViewControl.h:227
gl_util::GLVector3f GetRight() const
Definition: ViewControl.h:173
virtual void CameraLocalTranslate(double forward, double right, double up)
Definition: ViewControl.cpp:324
int width
Definition: FilePCD.cpp:71