public class AREffectElement
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static interface |
AREffectElement.OnRenderableLoadCompleteListener
资源加载监听
|
static interface |
AREffectElement.OnTapListener
点击监听接口
|
static interface |
AREffectElement.OnTouchListener
触摸监听接口
|
static class |
AREffectElement.PositionType
显示位置类型
|
static class |
AREffectElement.VisualizerType
可视化类型
|
构造器和说明 |
---|
AREffectElement(android.content.Context context)
构造方法
|
限定符和类型 | 方法和说明 |
---|---|
boolean |
addChild(AREffectElement obj)
已过时。
|
void |
addChilds(java.util.ArrayList<AREffectElement> list)
设置子对象数组
|
void |
addOnTapListener(AREffectElement.OnTapListener listener)
添加点击监听
|
void |
addOnTouchListener(AREffectElement.OnTouchListener listener)
设置触摸监听
|
void |
changeBindNode(AnchorNode anchorNode)
更改绑定节点
|
void |
clearChildren()
已过时。
|
AREffectElement |
createChildElement()
已过时。
|
void |
destroy()
销毁对象
|
java.util.ArrayList<AREffectElement> |
getAllChilds()
获取子对象数组
|
AnchorNode |
getAnchorNode()
获取锚点
|
EffectView |
getArEffectView()
获取AREffectView
|
AREffectElement |
getChild(int index)
已过时。
|
AREffectElement |
getChild(long id)
根据id获取子对象
|
java.util.ArrayList<AREffectElement> |
getChild(java.lang.String Name)
获取子对象
|
int |
getChildCount()
获取子对象个数
|
android.content.Context |
getContext() |
java.lang.String |
getElementName()
获取对象名称
|
ElementType |
getElementType()
获取元素类型
|
long |
getId()
获取id
|
float[] |
getLocalScaleFactor()
获取对象在AR世界中的比例
|
AREffectElement.OnRenderableLoadCompleteListener |
getOnRenderableLoadCompleteListener()
获取资源加载完成的监听事件
|
java.lang.Object |
getParentNode()
获取父节点。
|
Point3D |
getPosition()
获取AR对象在AR场景位置
|
AREffectElement.PositionType |
getPositionType()
获取位置显示类型
|
Point3D |
getRelativePosition()
获取AR对象相对于父节点位置
|
Quaternion |
getRotationQuaternion()
获取旋转四元数
|
float[] |
getScaleFactor()
获取对象在ar世界中的比例
|
Color |
getSelectionColor()
获取选中状态的渲染对象
|
AREffectElement.VisualizerType |
getVisualizerType()
获取选中状态的可视化类型
|
Location |
getWGSCoordinates()
获取模型地理位置
|
boolean |
isOverlap()
判断是否与其他元素重叠
|
boolean |
isSelected()
判断是否选中
|
boolean |
isShadowCaster()
判断是否该元素是否能够在场景中产生阴影
|
boolean |
isShadowReceiver()
判断该元素是否能够在场景中接受其它元素产生的阴影
|
boolean |
isTransformable()
获取模型的状态
(模型是否可以旋转/缩放)
|
boolean |
isVisible()
获取是否可见
|
void |
removeChild(AREffectElement element)
已过时。
|
void |
removeChild(int index)
已过时。
|
void |
removeChild(long id)
已过时。
|
void |
removeChild(java.lang.String name)
已过时。
|
void |
removeOnTapListener()
移除点击监听
|
void |
removeOnTouchListener()
移除触摸监听
|
void |
select()
选中元素
|
void |
setElementName(java.lang.String objectName)
设置对象名称
|
void |
setLocalScaleFactor(float[] scales)
设置对象在AR世界中的比例
|
void |
setOnRenderableLoadCompleteListener(AREffectElement.OnRenderableLoadCompleteListener onRenderableLoadCompleteListener)
设置资源加载完成的监听事件
支持元素:
ARViewElement
ARVideoElement
ARVideoElement2
ARGltfElement
ARWebViewElement
常用于监听安卓View和Gltf模型的加载
|
AREffectElement |
setParentNode(AREffectElement arEffectElement)
相对布局时,设置父节点
|
AREffectElement |
setParentNode(EffectView arEffectView)
绝对布局,设置父节点
|
AREffectElement |
setParentNode(EffectView arEffectView,
Node parent)
将元素绑定在视图中的其他节点上
|
void |
setPosition(Point3D position)
设置AR对象在AR场景位置
|
void |
setPosition(Vector3 vector3)
设置AR对象在AR场景位置
|
void |
setRelativePosition(Point3D position)
设置AR对象相对于父节点位置
|
void |
setRelativePosition(Vector3 position)
设置AR对象相对于父节点位置
|
void |
setRotateAlwaysToCamera(boolean alwaysToCamera)
设置该元素的姿态是否始终相对相机位置
|
void |
setRotateToCameraType(Node.RotateToCameraType type)
设置节点相对相机的位置
包括:
Horizontal,
Vertical,
Horizontal_Vertical
|
void |
setRotationAngle(Quaternion quaternion)
设置旋转角度(四元数)
每次在原有姿态上变换(累加)
|
void |
setRotationAngle(Vector vector,
float rotationAngle)
设置对象的旋转角度
|
void |
setRotationAngleNoRepeat(Quaternion quaternion)
设置旋转角度(四元数)
注:与setRotationAngle(Quaternion quaternion)不同的是,此方法重复设置,不会累加
例如:
//element
element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度
element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度
//此时,element共旋转了180度
//element2
element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element2旋转至90度
element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element旋转至90度
//此时,element2只旋转了90度
|
void |
setRotationAngleRelative(Quaternion quaternion)
设置相对节点的旋转角度
|
void |
setRotationQuaternion(Quaternion quaternion)
通过四元数设置旋转姿态
每次设置都是基于初始相机坐标系
|
void |
setScaleFactor(float[] scales)
设置对象在ar世界中的比例
|
void |
setSelectionColor(Color color)
设置选中状态的渲染对象的颜色
|
void |
setShadowCaster(boolean flag)
设置是否能够在场景中产生阴影
|
void |
setShadowReceiver(boolean flag)
设置在场景中是否能够接受其他对象产生的阴影
|
void |
setTransformable(boolean isTransformable)
设置模型的状态
(是否可通过手势对模型进行缩放/旋转)
|
void |
setTransformable(boolean isTransformable,
boolean isSelected)
设置模型的状态
|
void |
setVisiblity(boolean visiblity)
设置是否可见。
|
void |
setVisualizerType(AREffectElement.VisualizerType visualizerType)
设置选中状态的可视化类型
|
void |
setWGSCoordinates(Location elementLocation)
已过时。
|
void |
unSelect()
取消选中
|
public ElementType getElementType()
@Deprecated public AREffectElement createChildElement()
public android.content.Context getContext()
public long getId()
public java.lang.String getElementName()
public void setElementName(java.lang.String objectName)
objectName
- @Deprecated public boolean addChild(AREffectElement obj)
obj
- 子对象@Deprecated public AREffectElement getChild(int index)
index
- 序列号@Deprecated public void removeChild(int index)
index
- 对象索引@Deprecated public void removeChild(long id)
id
- 对象id@Deprecated public void removeChild(java.lang.String name)
name
- 对象名@Deprecated public void removeChild(AREffectElement element)
element
- @Deprecated public void clearChildren()
public java.util.ArrayList<AREffectElement> getAllChilds()
public void addChilds(java.util.ArrayList<AREffectElement> list)
list
- public int getChildCount()
public java.util.ArrayList<AREffectElement> getChild(java.lang.String Name)
Name
- public AREffectElement getChild(long id)
id
- public Point3D getPosition()
public void setPosition(Point3D position)
position
- public void setPosition(Vector3 vector3)
vector3
- public Location getWGSCoordinates()
@Deprecated public void setWGSCoordinates(Location elementLocation)
elementLocation
- public Point3D getRelativePosition()
public void setRelativePosition(Point3D position)
position
- public void setRelativePosition(Vector3 position)
position
- public void setRotationAngle(Vector vector, float rotationAngle)
vector
- 旋转轴,可以直接用单位向量rotationAngle
- 旋转角度public void setRotationAngle(Quaternion quaternion)
每次在原有姿态上变换(累加)
quaternion
- public void setRotationAngleNoRepeat(Quaternion quaternion)
注:与setRotationAngle(Quaternion quaternion)不同的是,此方法重复设置,不会累加 例如: //element element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 //此时,element共旋转了180度 //element2 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element2旋转至90度 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element旋转至90度 //此时,element2只旋转了90度
quaternion
- public void setRotationAngleRelative(Quaternion quaternion)
quaternion
- public float[] getScaleFactor()
public void setScaleFactor(float[] scales)
scales
- 含有3个值,分别为xyz的系数public EffectView getArEffectView()
public AREffectElement.PositionType getPositionType()
public AREffectElement setParentNode(EffectView arEffectView)
arEffectView
- public AREffectElement setParentNode(AREffectElement arEffectElement)
arEffectElement
- public void changeBindNode(AnchorNode anchorNode)
anchorNode
- public java.lang.Object getParentNode()
public AnchorNode getAnchorNode()
public void setVisiblity(boolean visiblity)
visiblity
- public boolean isVisible()
public boolean isTransformable()
public void setTransformable(boolean isTransformable, boolean isSelected)
isTransformable
- 是否可变isSelected
- 是否选中可变节点public void setTransformable(boolean isTransformable)
isTransformable
- public void addOnTapListener(AREffectElement.OnTapListener listener)
listener
- public void removeOnTapListener()
public void addOnTouchListener(AREffectElement.OnTouchListener listener)
listener
- public void removeOnTouchListener()
public boolean isOverlap()
public Quaternion getRotationQuaternion()
public void setRotationQuaternion(Quaternion quaternion)
每次设置都是基于初始相机坐标系
quaternion
- public Color getSelectionColor()
public void setSelectionColor(Color color)
color
- public AREffectElement.VisualizerType getVisualizerType()
public void setVisualizerType(AREffectElement.VisualizerType visualizerType)
visualizerType
- public void select()
public void unSelect()
public boolean isSelected()
public void setLocalScaleFactor(float[] scales)
scales
- 含有3个值,分别为xyz的系数public float[] getLocalScaleFactor()
public void setShadowCaster(boolean flag)
flag
- public void setShadowReceiver(boolean flag)
flag
- public boolean isShadowCaster()
public boolean isShadowReceiver()
public void destroy()
public void setRotateAlwaysToCamera(boolean alwaysToCamera)
alwaysToCamera
- public void setRotateToCameraType(Node.RotateToCameraType type)
包括: Horizontal, Vertical, Horizontal_Vertical
type
- public AREffectElement.OnRenderableLoadCompleteListener getOnRenderableLoadCompleteListener()
public void setOnRenderableLoadCompleteListener(AREffectElement.OnRenderableLoadCompleteListener onRenderableLoadCompleteListener)
支持元素:ARViewElement
ARVideoElement
ARVideoElement2
ARGltfElement
ARWebViewElement
常用于监听安卓View和Gltf模型的加载
onRenderableLoadCompleteListener
- public AREffectElement setParentNode(EffectView arEffectView, Node parent)
arEffectView
- 视图参数。parent
- 父节点Node
可通过本方法,直接将元素绑定在Node上。
若参数EffectView
不为null,则绑定关系:AREffectElement->parentNode->EffectView