变换
Inheritance: java.lang.Object, com.aspose.threed.A3DObject
public class Transform extends A3DObject
变换包含允许以最低成本访问对象的平移/缩放/旋转或变换矩阵的信息 这用于局部变换。 Example: 以下代码展示了如何更改节点的变换:
Scene scene = new Scene();
var boxNode = scene.getRootNode().createChildNode(new Box());
//place the box at (10, 0, 0)
boxNode.getTransform().setTranslation(new Vector3(10, 0, 0));
方法
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.
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getEulerAngles()
public Vector3 getEulerAngles()
获取以欧拉角表示的旋转,单位为度
Returns: Vector3 - the rotation represented in Euler angles, measured in degree Example:
Node node = new Node();
node.getTransform().setEulerAngles(new Vector3(90, 0, 0));
getGeometricRotation()
public Vector3 getGeometricRotation()
获取几何欧拉旋转(单位为度)。几何变换仅影响附加的实体,而不影响子节点。导出几何变换到不支持该变换的文件类型时,它将合并为局部变换。
Returns: Vector3 - the geometric Euler rotation(measured in degree). Geometric transformation only affects the entities attached and leave the child nodes unaffected. It will be merged as local transformation when you export the geometric transformation to file types that does not support it.
getGeometricScaling()
public Vector3 getGeometricScaling()
获取几何缩放。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。
Returns: Vector3 - the geometric scaling. Geometric transformation only affects the entities attached and leave the child nodes unaffected. It will be merged as local transformation when you export the geometric transformation to file types that does not support it. Example:
Node node = new Node();
node.getTransform.setGeometricScaling(new Vector3(2, 2, 2));
getGeometricTranslation()
public Vector3 getGeometricTranslation()
获取几何平移。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。
Returns: Vector3 - the geometric translation. Geometric transformation only affects the entities attached and leave the child nodes unaffected. It will be merged as local transformation when you export the geometric transformation to file types that does not support it. Example:
Node node = new Node();
node.getTransform().setGeometricTranslation(new Vector3(10, 0, 0));
getName()
public String getName()
获取名称。
Returns: java.lang.String - 名称。
getPostRotation()
public Vector3 getPostRotation()
获取以度表示的后旋转
Returns: Vector3 - the post-rotation represented in degree Example:
Node node = new Node();
node.getTransform().setPostRotation(new Vector3(90, 0, 0));
getPreRotation()
public Vector3 getPreRotation()
获取以度表示的前旋转
Returns: Vector3 - the pre-rotation represented in degree Example:
Node node = new Node();
node.getTransform().setPreRotation(new Vector3(90, 0, 0));
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 - 找到的属性的值
getRotation()
public Quaternion getRotation()
获取以四元数表示的旋转。
Returns: Quaternion - the rotation represented in quaternion. Example:
Node node = new Node();
node.getTransform().setRotation(new Quaternion(1, 0, 0, 0));
getRotationOffset()
public Vector3 getRotationOffset()
获取旋转偏移
Returns: Vector3 - the rotation offset
getRotationPivot()
public Vector3 getRotationPivot()
获取旋转枢轴
Returns: Vector3 - the rotation pivot
getScaling()
public Vector3 getScaling()
获取缩放
Returns: Vector3 - the scaling Example:
Node node = new Node();
node.getTransform().setScaling(new Vector3(2, 2, 2));
getScalingOffset()
public Vector3 getScalingOffset()
获取缩放偏移
Returns: Vector3 - the scaling offset
getScalingPivot()
public Vector3 getScalingPivot()
获取缩放枢轴
Returns: Vector3 - the scaling pivot
getTransformMatrix()
public Matrix4 getTransformMatrix()
获取变换矩阵。
Returns: Matrix4 - the transform matrix. Remarks: Assign on this will reset the getTranslation, getScaling and getRotation, the getGeometricRotation, getGeometricScaling and getGeometricTranslation will not be affected. Example:
Node node = new Node();
node.getTransform().setTransformMatrix(Matrix4.getIdentity());
getTranslation()
public Vector3 getTranslation()
获取平移
Returns: Vector3 - the translation Example:
Node node = new Node();
node.getTransform().setTranslation(new Vector3(10, 0, 0));
hashCode()
public native int hashCode()
Returns: int
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
setEulerAngles(Vector3 value)
public void setEulerAngles(Vector3 value)
设置以欧拉角表示的旋转,单位为度
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Vector3 |
Node node = new Node();
node.getTransform().setEulerAngles(new Vector3(90, 0, 0));
``` |
### setEulerAngles(double rx, double ry, double rz) {#setEulerAngles-double-double-double-}
public Transform setEulerAngles(double rx, double ry, double rz)
设置当前变换的欧拉角(单位:度)。**示例:**
Node node = new Node(); node.getTransform().setEulerAngles(90, 0, 0);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| rx | double | |
| ry | double | |
| rz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setGeometricRotation(Vector3 value) {#setGeometricRotation-com.aspose.threed.Vector3-}
public void setGeometricRotation(Vector3 value)
设置几何欧拉旋转(以度为单位)。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| value | [Vector3](../../com.aspose.threed/vector3) | 新值 |
### setGeometricRotation(double rx, double ry, double rz) {#setGeometricRotation-double-double-double-}
public Transform setGeometricRotation(double rx, double ry, double rz)
设置几何欧拉旋转(以度为单位)。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。**示例:**
Node node = new Node(); node.getTransform().setGeometricRotation(90, 0, 0);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| rx | double | |
| ry | double | |
| rz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setGeometricScaling(Vector3 value) {#setGeometricScaling-com.aspose.threed.Vector3-}
public void setGeometricScaling(Vector3 value)
设置几何缩放。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Vector3](../../com.aspose.threed/vector3) | 新值 **Example:** |
Node node = new Node(); node.getTransform.setGeometricScaling(new Vector3(2, 2, 2));
### setGeometricScaling(double sx, double sy, double sz) {#setGeometricScaling-double-double-double-}
public Transform setGeometricScaling(double sx, double sy, double sz)
设置几何缩放。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。**示例:**
Node node = new Node(); node.getTransform().setGeometricScaling(2, 2, 2);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| sx | double | |
| sy | double | |
| sz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setGeometricTranslation(Vector3 value) {#setGeometricTranslation-com.aspose.threed.Vector3-}
public void setGeometricTranslation(Vector3 value)
设置几何平移。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Vector3](../../com.aspose.threed/vector3) | 新值 **Example:** |
Node node = new Node(); node.getTransform().setGeometricTranslation(new Vector3(10, 0, 0));
### setGeometricTranslation(double x, double y, double z) {#setGeometricTranslation-double-double-double-}
public Transform setGeometricTranslation(double x, double y, double z)
设置几何平移。几何变换仅影响附加的实体,而不影响子节点。当您将几何变换导出为不支持该功能的文件类型时,它将合并为局部变换。**示例:**
Node node = new Node(); node.getTransform().setGeometricTranslation(10, 0, 0);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| x | double | |
| y | double | |
| z | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setName(String value) {#setName-java.lang.String-}
public void setName(String value)
设置名称。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| 值 | java.lang.String | 新值 |
### setPostRotation(Vector3 value) {#setPostRotation-com.aspose.threed.Vector3-}
public void setPostRotation(Vector3 value)
设置后置旋转(单位为度)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Vector3](../../com.aspose.threed/vector3) | 新值 **Example:** |
Node node = new Node(); node.getTransform().setPostRotation(new Vector3(90, 0, 0));
### setPostRotation(double rx, double ry, double rz) {#setPostRotation-double-double-double-}
public Transform setPostRotation(double rx, double ry, double rz)
设置后置旋转(单位为度) **示例:**
Node node = new Node(); node.getTransform().setPostRotation(90, 0, 0);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| rx | double | |
| ry | double | |
| rz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setPreRotation(Vector3 value) {#setPreRotation-com.aspose.threed.Vector3-}
public void setPreRotation(Vector3 value)
设置前置旋转(单位为度)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Vector3](../../com.aspose.threed/vector3) | 新值 **Example:** |
Node node = new Node(); node.getTransform().setPreRotation(new Vector3(90, 0, 0));
### setPreRotation(double rx, double ry, double rz) {#setPreRotation-double-double-double-}
public Transform setPreRotation(double rx, double ry, double rz)
设置前置旋转(单位为度) **示例:**
Node node = new Node(); node.getTransform().setPreRotation(90, 0, 0);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| rx | double | |
| ry | double | |
| rz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setProperty(String property, Object value) {#setProperty-java.lang.String-java.lang.Object-}
public void setProperty(String property, Object value)
设置指定属性的值
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| 属性 | java.lang.String | 属性名称 |
| 值 | java.lang.Object | 属性的值 |
### setRotation(Quaternion value) {#setRotation-com.aspose.threed.Quaternion-}
public void setRotation(Quaternion value)
设置以四元数表示的旋转。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Quaternion](../../com.aspose.threed/quaternion) | 新值 **Example:** |
Node node = new Node(); node.getTransform().setRotation(new Quaternion(1, 0, 0, 0));
### setRotation(double rw, double rx, double ry, double rz) {#setRotation-double-double-double-double-}
public Transform setRotation(double rw, double rx, double ry, double rz)
设置当前变换的旋转(四元数分量)。**示例:**
Node node = new Node(); node.getTransform().setRotation(1, 0, 0, 0);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| rw | double | |
| rx | double | |
| ry | double | |
| rz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setRotationOffset(Vector3 value) {#setRotationOffset-com.aspose.threed.Vector3-}
public void setRotationOffset(Vector3 value)
设置旋转偏移
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| value | [Vector3](../../com.aspose.threed/vector3) | 新值 |
### setRotationPivot(Vector3 value) {#setRotationPivot-com.aspose.threed.Vector3-}
public void setRotationPivot(Vector3 value)
设置旋转枢轴
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| value | [Vector3](../../com.aspose.threed/vector3) | 新值 |
### setScale(double sx, double sy, double sz) {#setScale-double-double-double-}
public Transform setScale(double sx, double sy, double sz)
设置当前变换的缩放。**示例:**
Node node = new Node(); node.getTransform().setScale(2, 2, 2);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| sx | double | |
| sy | double | |
| sz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### setScaling(Vector3 value) {#setScaling-com.aspose.threed.Vector3-}
public void setScaling(Vector3 value)
设置缩放
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Vector3](../../com.aspose.threed/vector3) | 新值 **Example:** |
Node node = new Node(); node.getTransform().setScaling(new Vector3(2, 2, 2));
### setScalingOffset(Vector3 value) {#setScalingOffset-com.aspose.threed.Vector3-}
public void setScalingOffset(Vector3 value)
设置缩放偏移
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| value | [Vector3](../../com.aspose.threed/vector3) | 新值 |
### setScalingPivot(Vector3 value) {#setScalingPivot-com.aspose.threed.Vector3-}
public void setScalingPivot(Vector3 value)
设置缩放枢轴
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| value | [Vector3](../../com.aspose.threed/vector3) | 新值 |
### setTransformMatrix(Matrix4 value) {#setTransformMatrix-com.aspose.threed.Matrix4-}
public void setTransformMatrix(Matrix4 value)
设置变换矩阵。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Matrix4](../../com.aspose.threed/matrix4) | 新值 **备注:** 对此进行赋值将重置 [getTranslation](../../com.aspose.threed/transform\#getTranslation), [getScaling](../../com.aspose.threed/transform\#getScaling) 和 [getRotation](../../com.aspose.threed/transform\#getRotation), [getGeometricRotation](../../com.aspose.threed/transform\#getGeometricRotation), [getGeometricScaling](../../com.aspose.threed/transform\#getGeometricScaling) 和 [getGeometricTranslation](../../com.aspose.threed/transform\#getGeometricTranslation) 将不受影响。**示例:** |
Node node = new Node(); node.getTransform().setTransformMatrix(Matrix4.getIdentity());
### setTranslation(Vector3 value) {#setTranslation-com.aspose.threed.Vector3-}
public void setTranslation(Vector3 value)
设置平移
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [Vector3](../../com.aspose.threed/vector3) | 新值 **Example:** |
Node node = new Node(); node.getTransform().setTranslation(new Vector3(10, 0, 0));
### setTranslation(double tx, double ty, double tz) {#setTranslation-double-double-double-}
public Transform setTranslation(double tx, double ty, double tz)
设置当前变换的平移。**示例:**
Node node = new Node(); node.getTransform().setTranslation(10, 0, 0);
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| tx | double | |
| ty | double | |
| tz | double | |
**Returns:**
[Transform](../../com.aspose.threed/transform)
### toString() {#toString--}
public String toString()
**Returns:**
java.lang.String
### wait() {#wait--}
public final void wait()
### wait(long arg0) {#wait-long-}
public final void wait(long arg0)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long | |
### wait(long arg0, int arg1) {#wait-long-int-}
public final void wait(long arg0, int arg1)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long | |
| arg1 | int | |