Camera
Inheritance: java.lang.Object, com.aspose.threed.A3DObject, com.aspose.threed.SceneObject, com.aspose.threed.Entity, com.aspose.threed.Frustum
All Implemented Interfaces: com.aspose.threed.IOrientable
public class Camera extends Frustum implements IOrientable
相机描述了观看场景的观察者的视点。
构造函数
| 构造函数 | 描述 |
|---|---|
| Camera() | 初始化 Camera 类的新实例。 |
| Camera(ProjectionType projectionType) | 初始化 Camera 类的新实例。 |
| Camera(String name) | 初始化 Camera 类的新实例。 |
| Camera(String name, ProjectionType projectionType) | 初始化 Camera 类的新实例。 |
方法
Camera()
public Camera()
初始化 Camera 类的新实例。
Camera(ProjectionType projectionType)
public Camera(ProjectionType projectionType)
初始化 Camera 类的新实例。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| projectionType | ProjectionType | 投影类型。 |
Camera(String name)
public Camera(String name)
初始化 Camera 类的新实例。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 名称 | java.lang.String | 名称。 |
Camera(String name, ProjectionType projectionType)
public Camera(String name, ProjectionType projectionType)
初始化 Camera 类的新实例。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 名称 | java.lang.String | 名称。 |
| projectionType | ProjectionType | 投影类型。 |
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| arg0 | java.lang.Object |
Returns: 布尔
findProperty(String propertyName)
public Property findProperty(String propertyName)
查找属性。它可以是动态属性(由 CreateDynamicProperty/SetProperty 创建)或本机属性(通过其名称标识)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| propertyName | java.lang.String | 属性名称。 |
Returns: Property - The property.
getApertureMode()
public ApertureMode getApertureMode()
获取相机的光圈模式
Returns: ApertureMode - the camera’s aperture mode
getAspect()
public double getAspect()
获取视锥体的宽高比。
Returns: double - 视锥体的宽高比
getAspectRatio()
public double getAspectRatio()
获取视图平面的宽高比。
Returns: double - 视图平面的宽高比。
getBoundingBox()
public BoundingBox getBoundingBox()
获取当前实体在其对象空间坐标系中的边界框。
Returns: BoundingBox - the bounding box of current entity in its object space coordinate system. Example: The following code shows how to calculate the bounding box of a shape
Entity entity = new Sphere();
entity.setRadius(10);
var bbox = entity.getBoundingBox();
System.out.printf("The bounding box of the entity is %s ~ %s", bbox.getMinimum(), bbox.getMaximum());
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getDirection()
public Vector3 getDirection()
获取相机所看的方向。对此属性的更改也会影响 getLookAt 和 getTarget。
Returns: Vector3 - the direction that the camera is looking at. Changes on this property will also affects the getLookAt and getTarget.
getEntityRendererKey()
public EntityRendererKey getEntityRendererKey()
获取在渲染器中注册的实体渲染器的键
Returns: EntityRendererKey - the key of the entity renderer registered in the renderer
getExcluded()
public boolean getExcluded()
获取在导出期间是否排除此实体。
Returns: boolean - 是否在导出期间排除此实体。
getFarPlane()
public double getFarPlane()
获取视锥体的远平面距离。
Returns: double - 视锥体的远裁剪面距离。
getFieldOfView()
public double getFieldOfView()
获取相机的视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZONTAL 或 ApertureMode.VERTICAL 时使用
Returns: double - 相机的视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZONTAL 或 ApertureMode.VERTICAL 时使用
getFieldOfViewX()
public double getFieldOfViewX()
获取相机的水平视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZ_AND_VERT 时使用
Returns: double - 相机的水平视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZ_AND_VERT 时使用
getFieldOfViewY()
public double getFieldOfViewY()
获取相机的垂直视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZ_AND_VERT 时使用
Returns: double - 相机的垂直视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZ_AND_VERT 时使用
getHeight()
public double getHeight()
获取视图平面的高度(以英寸为单位)
Returns: double - 视图平面的高度(以英寸为单位)
getLookAt()
public Vector3 getLookAt()
获取相机所关注的位置。
Returns: Vector3 - the the interested position that the camera is looking at.
getMagnification()
public Vector2 getMagnification()
获取正交相机使用的放大倍率
Returns: Vector2 - the magnification used in orthographic camera
getName()
public String getName()
获取名称。
Returns: java.lang.String - 名称。
getNearPlane()
public double getNearPlane()
获取视锥体的近裁剪面距离。
Returns: double - 视锥体的近裁剪面距离。
getOrthoHeight()
public double getOrthoHeight()
获取视锥体在正交投影时的高度。
Returns: double - 视锥体在正交投影时的高度。
getParentNode()
public Node getParentNode()
获取第一个父节点,如果设置第一个父节点,则此实体将从其他父节点分离。
Returns: Node - the first parent node, if set the first parent node, this entity will be detached from other parent nodes.
getParentNodes()
public ArrayList<Node> getParentNodes()
获取所有父节点,实体可以附加到多个父节点以进行几何实例化
Returns: java.util.ArrayList<com.aspose.threed.Node> - 所有父节点,实体可以附加到多个父节点以实现几何实例化
getProjectionType()
public ProjectionType getProjectionType()
获取相机的投影类型。默认使用透视投影。
Returns: ProjectionType - the camera’s projection type. By default the perspective projection is used.
getProperties()
public PropertyCollection getProperties()
获取所有属性的集合。
Returns: PropertyCollection - the collection of all properties.
getProperty(String property)
public Object getProperty(String property)
获取指定属性的值
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 属性 | java.lang.String | 属性名称 |
Returns: java.lang.Object - 找到的属性的值
getRotationMode()
public RotationMode getRotationMode()
获取视锥体的方向模式。此属性仅在 getTarget 为 null 时有效。如果值为 RotationMode.FIXED_TARGET,方向始终由属性 getLookAt 计算;否则 getLookAt 始终由 getDirection 计算。
Returns: RotationMode - the frustum’s orientation mode This property only works when the getTarget is null. If the value is RotationMode.FIXED_TARGET, the direction is always calculated by the property getLookAt Otherwise the getLookAt is always calculated by the getDirection
getScene()
public Scene getScene()
获取此对象所属的场景
Returns: Scene - the scene that this object belongs to
getTarget()
public Node getTarget()
获取相机所看的目标。如果用户支持此属性,它应在 getLookAt 属性之前。
Returns: Node - the target that the camera is looking at. If the user supports this property, it should be prior to getLookAt property.
getUp()
public Vector3 getUp()
获取相机的上方向
Returns: Vector3 - the up direction of the camera
getWidth()
public double getWidth()
获取视图平面的宽度(以英寸为单位)
Returns: double - 以英寸为单位测量的视平面宽度
hashCode()
public native int hashCode()
Returns: int
moveForward(double distance)
public void moveForward(double distance)
向前移动相机,使其朝向方向或目标。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 距离 | double | 向前移动的时长 |
notify()
public final native void notify()
notifyAll()
public final native void notifyAll()
removeProperty(Property property)
public boolean removeProperty(Property property)
移除动态属性。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| property | Property | 要删除哪个属性 |
Returns: boolean - 如果属性成功删除则为 true
removeProperty(String property)
public boolean removeProperty(String property)
移除通过名称标识的指定属性
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 属性 | java.lang.String | 要删除哪个属性 |
Returns: boolean - 如果属性成功删除则为 true
setApertureMode(ApertureMode value)
public void setApertureMode(ApertureMode value)
设置相机的光圈模式
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | ApertureMode | 新值 |
setAspect(double value)
public void setAspect(double value)
设置视锥体的宽高比
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setAspectRatio(double value)
public void setAspectRatio(double value)
设置视图平面的宽高比。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setDirection(Vector3 value)
public void setDirection(Vector3 value)
设置相机所看的方向。对此属性的更改也会影响 getLookAt 和 getTarget。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Vector3 | 新值 |
setExcluded(boolean value)
public void setExcluded(boolean value)
设置在导出期间是否排除此实体。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | 布尔 | 新值 |
setFarPlane(double value)
public void setFarPlane(double value)
设置视锥体的远裁剪面距离。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setFieldOfView(double value)
public void setFieldOfView(double value)
设置相机的视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZONTAL 或 ApertureMode.VERTICAL 时使用
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setFieldOfViewX(double value)
public void setFieldOfViewX(double value)
设置相机的水平视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZ_AND_VERT 时使用
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setFieldOfViewY(double value)
public void setFieldOfViewY(double value)
设置相机的垂直视场角(以度为单位),此属性仅在 ApertureMode 为 ApertureMode.HORIZ_AND_VERT 时使用
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setHeight(double value)
public void setHeight(double value)
设置视图平面的高度(以英寸为单位)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setLookAt(Vector3 value)
public void setLookAt(Vector3 value)
设置相机所关注的位置。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Vector3 | 新值 |
setMagnification(Vector2 value)
public void setMagnification(Vector2 value)
设置正交相机使用的放大倍率
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Vector2 | 新值 |
setName(String value)
public void setName(String value)
设置名称。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | java.lang.String | 新值 |
setNearPlane(double value)
public void setNearPlane(double value)
设置视锥体的近裁剪面距离。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setOrthoHeight(double value)
public void setOrthoHeight(double value)
设置视锥体在正交投影时的高度。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
setParentNode(Node value)
public void setParentNode(Node value)
设置第一个父节点,如果设置第一个父节点,则此实体将从其他父节点分离。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Node | 新值 |
setProjectionType(ProjectionType value)
public void setProjectionType(ProjectionType value)
设置相机的投影类型。默认使用透视投影。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | ProjectionType | 新值 |
setProperty(String property, Object value)
public void setProperty(String property, Object value)
设置指定属性的值
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 属性 | java.lang.String | 属性名称 |
| 值 | java.lang.Object | 属性的值 |
setRotationMode(RotationMode value)
public void setRotationMode(RotationMode value)
设置视锥体的方向模式。此属性仅在 getTarget 为 null 时有效。如果值为 RotationMode.FIXED_TARGET,方向始终由属性 getLookAt 计算;否则 getLookAt 始终由 getDirection 计算。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | RotationMode | 新值 |
setTarget(Node value)
public void setTarget(Node value)
设置相机所看的目标。如果用户支持此属性,则应在 getLookAt 属性之前设置。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Node | 新值 |
setUp(Vector3 value)
public void setUp(Vector3 value)
设置相机的上方向
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Vector3 | 新值 |
setWidth(double value)
public void setWidth(double value)
设置视图平面的宽度(以英寸为单位)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | double | 新值 |
toString()
public String toString()
Returns: java.lang.String
wait()
public final void wait()
wait(long arg0)
public final void wait(long arg0)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| arg0 | long |
wait(long arg0, int arg1)
public final void wait(long arg0, int arg1)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| arg0 | long | |
| arg1 | int |