ViewInfo.java
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008, AIST, the University of Tokyo and General Robotix Inc.
3  * All rights reserved. This program is made available under the terms of the
4  * Eclipse Public License v1.0 which accompanies this distribution, and is
5  * available at http://www.eclipse.org/legal/epl-v10.html
6  * Contributors:
7  * General Robotix Inc.
8  * National Institute of Advanced Industrial Science and Technology (AIST)
9  */
17 package com.generalrobotix.ui.view.tdview;
18 
19 import javax.media.j3d.*;
20 import javax.vecmath.*;
21 
22 public class ViewInfo {
23  /* View のモードを示すフラグ */
24  public static final int VIEW_MODE_FIXED = 0;
25  public static final int VIEW_MODE_WALK = 1;
26  public static final int VIEW_MODE_ROOM = 2;
27  public static final int VIEW_MODE_PARALLEL = 4;
28  public static final int MODE_MASK =
30 
31  public static final int FRONT_VIEW = 8;
32  public static final int BACK_VIEW = 16;
33  public static final int LEFT_VIEW = 32;
34  public static final int RIGHT_VIEW = 64;
35  public static final int TOP_VIEW = 128;
36  public static final int BOTTOM_VIEW = 256;
37  public static final int VIEW_MASK =
39 
40  private int mode_; // モード
41  private double distance_; // 原点からの距離
42 
43  protected Transform3D transform_;
44 
45  public double fieldOfView;
46  public double frontClipDistance = 0.5;
47  public double backClipDistance = 200;
48 
50 
56  public ViewInfo(int mode, double dist) {
57  transform_ = new Transform3D();
58  setDistance(dist);
59  setViewMode(mode);
60  setDirection(mode);
61  }
62 
67  public void setViewMode(int mode) {
68  if ((mode_ & VIEW_MASK) == VIEW_MODE_FIXED) return;
69  mode_ = (mode & MODE_MASK) | (mode_ & VIEW_MASK);
70  if (listener_ != null) {
72  }
73  }
74 
79  public void setDistance(double dist) {
80  distance_ = dist;
81  }
82 
87  public void setDirection(int dir) {
88  // VIEW_MODE_PARALELL以外のモードではセットできない
89  //if ((mode_ & MODE_MASK) != VIEW_MODE_PARALLEL) return;
90  mode_ = (mode_ & MODE_MASK) | (dir & VIEW_MASK);
91  Matrix3d rot = new Matrix3d();
92  Vector3d pos = new Vector3d();
93  switch (mode_ & VIEW_MASK) {
94  case FRONT_VIEW:
95  pos.set(new double[]{distance_, 0.0, 0.0});
96  rot.set(
97  new Matrix3d(
98  0.0, 0.0, 1.0,
99  1.0, 0.0, 0.0,
100  0.0, 1.0, 0.0
101  )
102  );
103  break;
104  case BACK_VIEW:
105  pos.set(new double[]{-distance_, 0.0, 0.0});
106  rot.set(
107  new Matrix3d(
108  0.0, 0.0, -1.0,
109  -1.0, 0.0, 0.0,
110  0.0, 1.0, 0.0
111  )
112  );
113  break;
114  case LEFT_VIEW:
115  pos.set(new double[]{0.0, distance_, 0.0});
116  rot.set(
117  new Matrix3d(
118  -1.0, 0.0, 0.0,
119  0.0, 0.0, 1.0,
120  0.0, 1.0, 0.0
121  )
122  );
123  break;
124  case RIGHT_VIEW:
125  pos.set(new double[]{0.0, -distance_, 0.0});
126  rot.set(
127  new Matrix3d(
128  1.0, 0.0, 0.0,
129  0.0, 0.0, -1.0,
130  0.0, 1.0, 0.0
131  )
132  );
133  break;
134  case TOP_VIEW:
135  pos.set(new double[]{0.0, 0.0, distance_});
136  rot.set(
137  new Matrix3d(
138  0.0, 1.0, 0.0,
139  -1.0, 0.0, 0.0,
140  0.0, 0.0, 1.0
141  )
142  );
143  break;
144  case BOTTOM_VIEW:
145  pos.set(new double[]{0.0, 0.0, -distance_});
146  rot.set(
147  new Matrix3d(
148  0.0, 1.0, 0.0,
149  1.0, 0.0, 0.0,
150  0.0, 0.0, -1.0
151  )
152  );
153  break;
154  }
155  transform_.setTranslation(pos);
156  transform_.setRotation(rot);
157  }
158 
163  public int getViewMode() {
164  return (mode_ & MODE_MASK);
165  }
166 
167  public int getDirection() {
168  return (mode_ & VIEW_MASK);
169  }
170 
175  public Transform3D getTransform() {
176  return transform_;
177  }
178 
179  public void setTransform(Transform3D transform) {
180  transform_.set(transform);
181  }
182 
185  }
186 
189  }
190 }
com.generalrobotix.ui.view.tdview.ViewInfo.VIEW_MODE_PARALLEL
static final int VIEW_MODE_PARALLEL
Definition: ViewInfo.java:27
com.generalrobotix.ui.view.tdview.ViewInfo.listener_
ViewModeChangeListener listener_
Definition: ViewInfo.java:49
com.generalrobotix.ui.view.tdview.ViewInfo.BACK_VIEW
static final int BACK_VIEW
Definition: ViewInfo.java:32
com.generalrobotix.ui.view.tdview.ViewModeChangeListener
Definition: ViewModeChangeListener.java:14
com.generalrobotix.ui.view.tdview.ViewInfo.ViewInfo
ViewInfo(int mode, double dist)
Definition: ViewInfo.java:56
com.generalrobotix.ui.view.tdview.ViewInfo.getTransform
Transform3D getTransform()
Definition: ViewInfo.java:175
com.generalrobotix.ui.view.tdview.ViewInfo.removeViewModeChangeListener
void removeViewModeChangeListener(ViewModeChangeListener listener)
Definition: ViewInfo.java:187
com.generalrobotix.ui.view.tdview.ViewInfo.BOTTOM_VIEW
static final int BOTTOM_VIEW
Definition: ViewInfo.java:36
com.generalrobotix.ui.view.tdview.ViewModeChangeListener.viewModeChanged
void viewModeChanged(int mode)
com.generalrobotix.ui.view.tdview.ViewModeChangeMulticaster.add
static ViewModeChangeListener add(ViewModeChangeListener listener1, ViewModeChangeListener listener2)
Definition: ViewModeChangeMulticaster.java:28
com.generalrobotix.ui.view.tdview.ViewInfo.setDistance
void setDistance(double dist)
Definition: ViewInfo.java:79
com.generalrobotix.ui.view.tdview.ViewInfo.distance_
double distance_
Definition: ViewInfo.java:41
com.generalrobotix.ui.view.tdview.ViewInfo.VIEW_MODE_FIXED
static final int VIEW_MODE_FIXED
Definition: ViewInfo.java:24
com.generalrobotix.ui.view.tdview.ViewInfo.setTransform
void setTransform(Transform3D transform)
Definition: ViewInfo.java:179
com.generalrobotix.ui.view.tdview.ViewInfo.getDirection
int getDirection()
Definition: ViewInfo.java:167
com.generalrobotix.ui.view.tdview.ViewInfo.TOP_VIEW
static final int TOP_VIEW
Definition: ViewInfo.java:35
com.generalrobotix.ui.view.tdview.ViewInfo.RIGHT_VIEW
static final int RIGHT_VIEW
Definition: ViewInfo.java:34
com.generalrobotix.ui.view.tdview.ViewInfo.backClipDistance
double backClipDistance
Definition: ViewInfo.java:47
com.generalrobotix.ui.view.tdview.ViewInfo.setViewMode
void setViewMode(int mode)
Definition: ViewInfo.java:67
com.generalrobotix.ui.view.tdview.ViewInfo.getViewMode
int getViewMode()
Definition: ViewInfo.java:163
com.generalrobotix.ui.view.tdview.ViewInfo.VIEW_MODE_ROOM
static final int VIEW_MODE_ROOM
Definition: ViewInfo.java:26
com.generalrobotix.ui.view.tdview.ViewInfo
Definition: ViewInfo.java:22
com.generalrobotix.ui.view.tdview.ViewInfo.setDirection
void setDirection(int dir)
Definition: ViewInfo.java:87
com.generalrobotix.ui.view.tdview.ViewModeChangeMulticaster.remove
static ViewModeChangeListener remove(ViewModeChangeListener listener, ViewModeChangeListener old)
Definition: ViewModeChangeMulticaster.java:37
com.generalrobotix.ui.view.tdview.ViewInfo.addViewModeChangeListener
void addViewModeChangeListener(ViewModeChangeListener listener)
Definition: ViewInfo.java:183
com.generalrobotix.ui.view.tdview.ViewInfo.LEFT_VIEW
static final int LEFT_VIEW
Definition: ViewInfo.java:33
com.generalrobotix.ui.view.tdview.ViewInfo.frontClipDistance
double frontClipDistance
Definition: ViewInfo.java:46
com.generalrobotix.ui.view.tdview.ViewInfo.MODE_MASK
static final int MODE_MASK
Definition: ViewInfo.java:28
com.generalrobotix.ui.view.tdview.ViewInfo.VIEW_MODE_WALK
static final int VIEW_MODE_WALK
Definition: ViewInfo.java:25
com.generalrobotix.ui.view.tdview.ViewInfo.transform_
Transform3D transform_
Definition: ViewInfo.java:43
com.generalrobotix.ui.view.tdview.ViewModeChangeMulticaster
Definition: ViewModeChangeMulticaster.java:12
com.generalrobotix.ui.view.tdview.ViewInfo.FRONT_VIEW
static final int FRONT_VIEW
Definition: ViewInfo.java:31
com.generalrobotix.ui.view.tdview.ViewInfo.fieldOfView
double fieldOfView
Definition: ViewInfo.java:45
com.generalrobotix.ui.view.tdview.ViewInfo.mode_
int mode_
Definition: ViewInfo.java:40
com.generalrobotix.ui.view.tdview.ViewInfo.VIEW_MASK
static final int VIEW_MASK
Definition: ViewInfo.java:37


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:04