Ray
所有文档

          AR开放平台

          Ray

          此类封装Ray相关数据与操作,Ray代表几何射线结构,由起点和方向组成。

          Public methods
          Ray Ray
          射线的无参构造函数,起点为(0,0,0),方向为(0,0,1)
          Ray Ray(origin, direction)
          射线的起点、方向构造函数
          Ray Ray(copy)
          射线的拷贝构造函数
          Ray origin
          获取射线的起点
          Ray set_origin
          设定射线的起点
          Ray direction
          获取射线的方向向量
          Ray set_direction
          设定射线的起点
          Ray intersects(plane)
          获取与平面相交点的距离,如果不相交,返回-1
          Ray intersects(box)
          获取与包围盒相交点的距离,如果不相交,返回-1
          Demo
          Ray Demo Ray RayDemo ()
          Demo示例

          Ray Demo

          Ray RayDemo ()

          demo示例

          sample:
          local origin = ae.ARVec3:new_local(0,0,0)
          local direction = ae.ARVec3:new_local(0,1,0)
          local ray = ae.Ray:new_local(origin,direction)
          local dis = ray:intersect(plane)
          --获取相交点
          if distance > 0 then
          	local point = ray:origin() + ray:direction() * distance
          end

          Ray

          API起始版本:190

          Ray Ray()

          射线的无参构造函数,起点为(0,0,0),方向为(0,0,1)

          Returns

          • Ray:默认参数构造的射线
          sample:
          local ray = ae.Ray:new_local()

          Ray(origin, direction)

          API起始版本:190

          Ray Ray(origin, direction)

          射线的起点、方向构造函数

          Parameters

          • ARVec3 | origin:射线起点
          • ARVec3 | direction:射线方向

          Returns

          • Ray:由起点和方向构成的射线
          sample:
          local ray = ae.Ray:new_local(ae.ARVec3:new_local(0,0,0), ae.ARVec3:new_local(0,1,0))

          Ray(copy)

          API起始版本:190

          Ray Ray(copy)

          射线的拷贝构造函数

          Parameters

          • Ray | copy:射线对象

          Returns

          • Ray:由copy构造的射线
          sample:
          local ray = ae.Ray:new_local(ae.ARVec3:new_local(0,0,0), ae.ARVec3:new_local(0,1,0))
          local ray1 = ae.Ray:new_local(ray)

          origin

          API起始版本:190

          ARVec3 origin()

          获取射线的起点

          Returns

          • ARVec3:射线起点
          sample:
          local origin = ray:origin()

          set_origin

          API起始版本:190

          void set_origin(origin)

          设定射线的起点

          Parameters

          • ARVec3 | origin:起点
          sample:
          ray:set_origin(origin)

          direction

          API起始版本:190

          ARVec3 direction()

          获取射线的方向向量

          Returns

          • ARVec3:射线方向向量
          sample:
          local dir = ray:direction()

          set_direction

          API起始版本:190

          void set_direction(dir)

          设定射线的起点

          Parameters

          • ARVec3 | dir:方向向量
          sample:
          ray:set_direction(dir)

          intersects(plane)

          API起始版本:190

          float intersects(plane)

          获取与平面相交点的距离,如果不相交,返回-1

          Parameters

          • Plane | plane:平面对象

          Returns

          • float:与相交点的距离,如果不相交,返回-1
          sample:
          local distance = ray:intersects(plane)
          if distance > 0 then
          	...
          end

          intersects(box)

          API起始版本:190

          float intersects(box)

          获取与包围盒相交点的距离,如果不相交,返回-1

          Parameters

          • BoundingBox | box:包围盒

          Returns

          • float:与相交点的距离,如果不相交,返回-1
          sample:
          local distance = ray:intersects(box)
          if distance > 0 then
          	...
          end
          上一篇
          Plane
          下一篇
          RayCaster