com.supermap.ar.areffect
类 AREffectElement
- java.lang.Object
-
- com.supermap.ar.areffect.AREffectElement
-
- 直接已知子类:
- ARGltfElement, ARMapElement, ARParticleElement, ARVideoElement, ARVideoElement2, ARViewElement
public class AREffectElement extends java.lang.ObjectAR特效对象
-
-
嵌套类概要
嵌套类 限定符和类型 类和说明 static interfaceAREffectElement.OnRenderableLoadCompleteListener资源加载监听static interfaceAREffectElement.OnTapListener点击监听接口static interfaceAREffectElement.OnTouchListener触摸监听接口static classAREffectElement.PositionType显示位置类型static classAREffectElement.VisualizerType可视化类型
-
构造器概要
构造器 构造器和说明 AREffectElement(android.content.Context context)构造方法
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 booleanaddChild(AREffectElement obj)已过时。voidaddChilds(java.util.ArrayList<AREffectElement> list)设置子对象数组voidaddOnTapListener(AREffectElement.OnTapListener listener)添加点击监听voidaddOnTouchListener(AREffectElement.OnTouchListener listener)设置触摸监听voidchangeBindNode(AnchorNode anchorNode)更改绑定节点voidclearChildren()已过时。AREffectElementcreateChildElement()已过时。voiddestroy()销毁对象java.util.ArrayList<AREffectElement>getAllChilds()获取子对象数组AnchorNodegetAnchorNode()获取锚点EffectViewgetArEffectView()获取AREffectViewAREffectElementgetChild(int index)已过时。AREffectElementgetChild(long id)根据id获取子对象java.util.ArrayList<AREffectElement>getChild(java.lang.String Name)获取子对象intgetChildCount()获取子对象个数android.content.ContextgetContext()java.lang.StringgetElementName()获取对象名称ElementTypegetElementType()获取元素类型longgetId()获取idfloat[]getLocalScaleFactor()获取对象在AR世界中的比例AREffectElement.OnRenderableLoadCompleteListenergetOnRenderableLoadCompleteListener()获取资源加载完成的监听事件java.lang.ObjectgetParentNode()获取父节点。Point3DgetPosition()获取AR对象在AR场景位置AREffectElement.PositionTypegetPositionType()获取位置显示类型Point3DgetRelativePosition()获取AR对象相对于父节点位置QuaterniongetRotationQuaternion()获取旋转四元数float[]getScaleFactor()获取对象在ar世界中的比例ColorgetSelectionColor()获取选中状态的渲染对象AREffectElement.VisualizerTypegetVisualizerType()获取选中状态的可视化类型LocationgetWGSCoordinates()获取模型地理位置booleanisOverlap()判断是否与其他元素重叠booleanisSelected()判断是否选中booleanisShadowCaster()判断是否该元素是否能够在场景中产生阴影booleanisShadowReceiver()判断该元素是否能够在场景中接受其它元素产生的阴影booleanisTransformable()获取模型的状态 (模型是否可以旋转/缩放)booleanisVisible()获取是否可见voidremoveChild(AREffectElement element)已过时。voidremoveChild(int index)已过时。voidremoveChild(long id)已过时。voidremoveChild(java.lang.String name)已过时。voidremoveOnTapListener()移除点击监听voidremoveOnTouchListener()移除触摸监听voidselect()选中元素voidsetElementName(java.lang.String objectName)设置对象名称voidsetLocalScaleFactor(float[] scales)设置对象在AR世界中的比例voidsetOnRenderableLoadCompleteListener(AREffectElement.OnRenderableLoadCompleteListener onRenderableLoadCompleteListener)设置资源加载完成的监听事件 支持元素:ARViewElementARVideoElementARVideoElement2ARGltfElementARWebViewElement常用于监听安卓View和Gltf模型的加载AREffectElementsetParentNode(AREffectElement arEffectElement)相对布局时,设置父节点AREffectElementsetParentNode(EffectView arEffectView)绝对布局,设置父节点AREffectElementsetParentNode(EffectView arEffectView, Node parent)将元素绑定在视图中的其他节点上voidsetPosition(Point3D position)设置AR对象在AR场景位置voidsetPosition(Vector3 vector3)设置AR对象在AR场景位置voidsetRelativePosition(Point3D position)设置AR对象相对于父节点位置voidsetRelativePosition(Vector3 position)设置AR对象相对于父节点位置voidsetRotateAlwaysToCamera(boolean alwaysToCamera)设置该元素的姿态是否始终相对相机位置voidsetRotateToCameraType(Node.RotateToCameraType type)设置节点相对相机的位置 包括: Horizontal, Vertical, Horizontal_VerticalvoidsetRotationAngle(Quaternion quaternion)设置旋转角度(四元数) 每次在原有姿态上变换(累加)voidsetRotationAngle(Vector vector, float rotationAngle)设置对象的旋转角度voidsetRotationAngleNoRepeat(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度voidsetRotationAngleRelative(Quaternion quaternion)设置相对节点的旋转角度voidsetRotationQuaternion(Quaternion quaternion)通过四元数设置旋转姿态 每次设置都是基于初始相机坐标系voidsetScaleFactor(float[] scales)设置对象在ar世界中的比例voidsetSelectionColor(Color color)设置选中状态的渲染对象的颜色voidsetShadowCaster(boolean flag)设置是否能够在场景中产生阴影voidsetShadowReceiver(boolean flag)设置在场景中是否能够接受其他对象产生的阴影voidsetTransformable(boolean isTransformable)设置模型的状态 (是否可通过手势对模型进行缩放/旋转)voidsetTransformable(boolean isTransformable, boolean isSelected)设置模型的状态voidsetVisiblity(boolean visiblity)设置是否可见。voidsetVisualizerType(AREffectElement.VisualizerType visualizerType)设置选中状态的可视化类型voidsetWGSCoordinates(Location elementLocation)已过时。voidunSelect()取消选中
-
-
-
方法详细资料
-
getElementType
public ElementType getElementType()
获取元素类型- 返回:
-
createChildElement
@Deprecated public AREffectElement createChildElement()
已过时。创建子元素- 返回:
-
getContext
public android.content.Context getContext()
-
getId
public long getId()
获取id- 返回:
-
getElementName
public java.lang.String getElementName()
获取对象名称- 返回:
-
setElementName
public void setElementName(java.lang.String objectName)
设置对象名称- 参数:
objectName-
-
addChild
@Deprecated public boolean addChild(AREffectElement obj)
已过时。添加子对象- 参数:
obj- 子对象- 返回:
- 添加是否成功
-
getChild
@Deprecated public AREffectElement getChild(int index)
已过时。根据序列号查询子对象- 参数:
index- 序列号- 返回:
- 子对象
-
removeChild
@Deprecated public void removeChild(int index)
已过时。删除子对象- 参数:
index- 对象索引
-
removeChild
@Deprecated public void removeChild(long id)
已过时。删除子对象- 参数:
id- 对象id
-
removeChild
@Deprecated public void removeChild(java.lang.String name)
已过时。删除子对象- 参数:
name- 对象名
-
removeChild
@Deprecated public void removeChild(AREffectElement element)
已过时。移除子节点元素- 参数:
element-
-
clearChildren
@Deprecated public void clearChildren()
已过时。清除所有子对象
-
getAllChilds
public java.util.ArrayList<AREffectElement> getAllChilds()
获取子对象数组- 返回:
-
addChilds
public void addChilds(java.util.ArrayList<AREffectElement> list)
设置子对象数组- 参数:
list-
-
getChildCount
public int getChildCount()
获取子对象个数- 返回:
-
getChild
public java.util.ArrayList<AREffectElement> getChild(java.lang.String Name)
获取子对象- 参数:
Name-- 返回:
-
getChild
public AREffectElement getChild(long id)
根据id获取子对象- 参数:
id-- 返回:
-
getPosition
public Point3D getPosition()
获取AR对象在AR场景位置- 返回:
-
setPosition
public void setPosition(Point3D position)
设置AR对象在AR场景位置- 参数:
position-
-
setPosition
public void setPosition(Vector3 vector3)
设置AR对象在AR场景位置- 参数:
vector3-
-
getWGSCoordinates
public Location getWGSCoordinates()
获取模型地理位置- 返回:
-
setWGSCoordinates
@Deprecated public void setWGSCoordinates(Location elementLocation)
已过时。使用地理坐标设置模型位置- 参数:
elementLocation-
-
getRelativePosition
public Point3D getRelativePosition()
获取AR对象相对于父节点位置- 返回:
-
setRelativePosition
public void setRelativePosition(Point3D position)
设置AR对象相对于父节点位置- 参数:
position-
-
setRelativePosition
public void setRelativePosition(Vector3 position)
设置AR对象相对于父节点位置- 参数:
position-
-
setRotationAngle
public void setRotationAngle(Vector vector, float rotationAngle)
设置对象的旋转角度- 参数:
vector- 旋转轴,可以直接用单位向量rotationAngle- 旋转角度
-
setRotationAngle
public void setRotationAngle(Quaternion quaternion)
设置旋转角度(四元数)每次在原有姿态上变换(累加)
- 参数:
quaternion-
-
setRotationAngleNoRepeat
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-
-
setRotationAngleRelative
public void setRotationAngleRelative(Quaternion quaternion)
设置相对节点的旋转角度- 参数:
quaternion-
-
getScaleFactor
public float[] getScaleFactor()
获取对象在ar世界中的比例- 返回:
-
setScaleFactor
public void setScaleFactor(float[] scales)
设置对象在ar世界中的比例- 参数:
scales- 含有3个值,分别为xyz的系数
-
getArEffectView
public EffectView getArEffectView()
获取AREffectView- 返回:
-
getPositionType
public AREffectElement.PositionType getPositionType()
获取位置显示类型- 返回:
-
setParentNode
public AREffectElement setParentNode(EffectView arEffectView)
绝对布局,设置父节点- 参数:
arEffectView-
-
setParentNode
public AREffectElement setParentNode(AREffectElement arEffectElement)
相对布局时,设置父节点- 参数:
arEffectElement-
-
changeBindNode
public void changeBindNode(AnchorNode anchorNode)
更改绑定节点- 参数:
anchorNode-
-
getParentNode
public java.lang.Object getParentNode()
获取父节点。- 返回:
-
getAnchorNode
public AnchorNode getAnchorNode()
获取锚点
-
setVisiblity
public void setVisiblity(boolean visiblity)
设置是否可见。其子对象显隐也会跟随父对象而变化- 参数:
visiblity-
-
isVisible
public boolean isVisible()
获取是否可见- 返回:
-
isTransformable
public boolean isTransformable()
获取模型的状态 (模型是否可以旋转/缩放)- 返回:
-
setTransformable
public void setTransformable(boolean isTransformable, boolean isSelected)设置模型的状态- 参数:
isTransformable- 是否可变isSelected- 是否选中可变节点
-
setTransformable
public void setTransformable(boolean isTransformable)
设置模型的状态 (是否可通过手势对模型进行缩放/旋转)- 参数:
isTransformable-
-
addOnTapListener
public void addOnTapListener(AREffectElement.OnTapListener listener)
添加点击监听- 参数:
listener-
-
removeOnTapListener
public void removeOnTapListener()
移除点击监听
-
addOnTouchListener
public void addOnTouchListener(AREffectElement.OnTouchListener listener)
设置触摸监听- 参数:
listener-
-
removeOnTouchListener
public void removeOnTouchListener()
移除触摸监听
-
isOverlap
public boolean isOverlap()
判断是否与其他元素重叠- 返回:
-
getRotationQuaternion
public Quaternion getRotationQuaternion()
获取旋转四元数- 返回:
-
setRotationQuaternion
public void setRotationQuaternion(Quaternion quaternion)
通过四元数设置旋转姿态每次设置都是基于初始相机坐标系
- 参数:
quaternion-
-
getSelectionColor
public Color getSelectionColor()
获取选中状态的渲染对象- 返回:
-
setSelectionColor
public void setSelectionColor(Color color)
设置选中状态的渲染对象的颜色- 参数:
color-
-
getVisualizerType
public AREffectElement.VisualizerType getVisualizerType()
获取选中状态的可视化类型- 返回:
-
setVisualizerType
public void setVisualizerType(AREffectElement.VisualizerType visualizerType)
设置选中状态的可视化类型- 参数:
visualizerType-
-
select
public void select()
选中元素
-
unSelect
public void unSelect()
取消选中
-
isSelected
public boolean isSelected()
判断是否选中- 返回:
-
setLocalScaleFactor
public void setLocalScaleFactor(float[] scales)
设置对象在AR世界中的比例- 参数:
scales- 含有3个值,分别为xyz的系数
-
getLocalScaleFactor
public float[] getLocalScaleFactor()
获取对象在AR世界中的比例- 返回:
-
setShadowCaster
public void setShadowCaster(boolean flag)
设置是否能够在场景中产生阴影- 参数:
flag-
-
setShadowReceiver
public void setShadowReceiver(boolean flag)
设置在场景中是否能够接受其他对象产生的阴影- 参数:
flag-
-
isShadowCaster
public boolean isShadowCaster()
判断是否该元素是否能够在场景中产生阴影- 返回:
-
isShadowReceiver
public boolean isShadowReceiver()
判断该元素是否能够在场景中接受其它元素产生的阴影- 返回:
-
destroy
public void destroy()
销毁对象
-
setRotateAlwaysToCamera
public void setRotateAlwaysToCamera(boolean alwaysToCamera)
设置该元素的姿态是否始终相对相机位置- 参数:
alwaysToCamera-
-
setRotateToCameraType
public void setRotateToCameraType(Node.RotateToCameraType type)
设置节点相对相机的位置包括: Horizontal, Vertical, Horizontal_Vertical- 参数:
type-
-
getOnRenderableLoadCompleteListener
public AREffectElement.OnRenderableLoadCompleteListener getOnRenderableLoadCompleteListener()
获取资源加载完成的监听事件- 返回:
-
setOnRenderableLoadCompleteListener
public void setOnRenderableLoadCompleteListener(AREffectElement.OnRenderableLoadCompleteListener onRenderableLoadCompleteListener)
设置资源加载完成的监听事件支持元素:ARViewElementARVideoElementARVideoElement2ARGltfElementARWebViewElement常用于监听安卓View和Gltf模型的加载- 参数:
onRenderableLoadCompleteListener-
-
setParentNode
public AREffectElement setParentNode(EffectView arEffectView, Node parent)
将元素绑定在视图中的其他节点上- 参数:
arEffectView- 视图参数。parent- 父节点Node可通过本方法,直接将元素绑定在Node上。 若参数EffectView不为null,则绑定关系:AREffectElement->parentNode->EffectView- 返回:
-
-