载入中...
搜索中...
未找到
eve::graphics::PrimitiveSceneCanvas3D类 参考

Frame-local scene recorder for 3D line primitives. 更多...

#include <PrimitiveDrawList.h>

Public 成员函数

 PrimitiveSceneCanvas3D (SceneDrawContext context, std::size_t hardCommandLimit=65536)
 Primitive scene canvas 3 d.
 
void save ()
 Saves .
 
void restore ()
 Restore.
 
void concat (const glm::mat4 &transform)
 Concat.
 
void drawLine (glm::vec3 a, glm::vec3 b, const ScenePrimitivePaint &paint)
 Draws line.
 
void drawPoint (glm::vec3 point, const ScenePrimitivePaint &paint)
 Draws point.
 
void drawPolyline (std::span< const glm::vec3 > points, bool closed, const ScenePrimitivePaint &paint)
 Draws polyline.
 
eve::Result< PrimitiveRecordStatus > tryDrawPolyline (std::span< const glm::vec3 > points, bool closed, const ScenePrimitivePaint &paint)
 Atomically records an owning 3D polyline or returns a structured budget failure.
 
void drawRay (glm::vec3 origin, glm::vec3 direction, float length, const ScenePrimitivePaint &paint)
 Draws ray.
 
void drawTriangle (glm::vec3 a, glm::vec3 b, glm::vec3 c, const ScenePrimitivePaint &paint)
 Draws triangle.
 
void drawQuad (glm::vec3 a, glm::vec3 b, glm::vec3 c, glm::vec3 d, const ScenePrimitivePaint &paint)
 Draws quad.
 
void drawDisk (glm::vec3 center, glm::vec3 normal, float radius, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
 Draws disk.
 
void drawArc (glm::vec3 center, glm::vec3 normal, glm::vec3 zeroDirection, float radius, float startRadians, float sweepRadians, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
 Draws arc.
 
void drawAabb (glm::vec3 minimum, glm::vec3 maximum, const ScenePrimitivePaint &paint)
 Records the twelve edges of an axis-aligned box.
 
void drawObb (glm::vec3 center, const std::array< glm::vec3, 3 > &halfAxes, const ScenePrimitivePaint &paint)
 Draws obb.
 
void drawGrid (glm::vec3 origin, glm::vec3 axisU, glm::vec3 axisV, std::uint32_t cellsU, std::uint32_t cellsV, const ScenePrimitivePaint &paint)
 Records a planar grid spanned by two caller-provided axes.
 
void drawSphere (glm::vec3 center, float radius, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
 Records three orthogonal great circles.
 
void drawSphere (glm::vec3 center, float radius, const ScenePrimitivePaint &paint, const RadialTessellation &tessellation)
 Draws a sphere using a fixed quality or adaptive projected error policy.
 
void drawCapsule (glm::vec3 a, glm::vec3 b, float radius, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
 Draws capsule.
 
void drawCylinder (glm::vec3 a, glm::vec3 b, float radius, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
 Records endpoint circles and four side lines of a cylinder.
 
void drawCone (glm::vec3 apex, glm::vec3 axis, float height, float radius, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
 Records the base circle and four side lines of a cone.
 
void drawArrow (glm::vec3 from, glm::vec3 to, float headLength, float headRadius, const ScenePrimitivePaint &paint)
 Records a shaft and four-sided arrow head.
 
void drawFrustum (const std::array< glm::vec3, 8 > &corners, const ScenePrimitivePaint &paint)
 Draws frustum.
 
void reset ()
 Resets .
 
const SceneDrawContext & context () const noexcept
 Context.
 
const std::vector< PolylineCommand3D > & commands () const noexcept
 Commands.
 
const std::vector< TriangleCommand3D > & triangles () const noexcept
 Triangles.
 
const PrimitiveDrawStatistics & statistics () const noexcept
 Statistics.
 

友元

class PrimitiveScene
 

详细描述

Frame-local scene recorder for 3D line primitives.

在文件 PrimitiveDrawList.h 第 114 行定义.

构造及析构函数说明

◆ PrimitiveSceneCanvas3D()

eve::graphics::PrimitiveSceneCanvas3D::PrimitiveSceneCanvas3D ( SceneDrawContext  context,
std::size_t  hardCommandLimit = 65536 
)
explicit

Primitive scene canvas 3 d.

在文件 PrimitiveDrawList.cpp 第 511 行定义.

引用了 EV_PARAM_CHECK , 以及 eve::graphics::SceneDrawContext::validate().

成员函数说明

◆ commands()

const std::vector< PolylineCommand3D > & eve::graphics::PrimitiveSceneCanvas3D::commands ( ) const
inlinenoexcept

Commands.

在文件 PrimitiveDrawList.h 第 177 行定义.

被这些函数引用 eve::graphics::RenderSystem3D::render() , 以及 eve::graphics::resolvePrimitiveStrokes3D().

◆ concat()

void eve::graphics::PrimitiveSceneCanvas3D::concat ( const glm::mat4 &  transform)

◆ context()

const SceneDrawContext & eve::graphics::PrimitiveSceneCanvas3D::context ( ) const
inlinenoexcept

Context.

在文件 PrimitiveDrawList.h 第 175 行定义.

被这些函数引用 eve::graphics::resolvePrimitiveStrokes3D().

◆ drawAabb()

void eve::graphics::PrimitiveSceneCanvas3D::drawAabb ( glm::vec3  minimum,
glm::vec3  maximum,
const ScenePrimitivePaint &  paint 
)

◆ drawArc()

void eve::graphics::PrimitiveSceneCanvas3D::drawArc ( glm::vec3  center,
glm::vec3  normal,
glm::vec3  zeroDirection,
float  radius,
float  startRadians,
float  sweepRadians,
const ScenePrimitivePaint &  paint,
std::uint32_t  segments = 32 
)

◆ drawArrow()

void eve::graphics::PrimitiveSceneCanvas3D::drawArrow ( glm::vec3  from,
glm::vec3  to,
float  headLength,
float  headRadius,
const ScenePrimitivePaint &  paint 
)

Records a shaft and four-sided arrow head.

在文件 PrimitiveDrawList.cpp 第 800 行定义.

引用了 direction, drawCone(), drawLine(), EV_PARAM_CHECK, from, length , 以及 to.

被这些函数引用 eve::graphics_editing::PrimitiveGizmoRenderer::render() , 以及 eve::graphics::PrimitiveScene::tryRender().

◆ drawCapsule()

void eve::graphics::PrimitiveSceneCanvas3D::drawCapsule ( glm::vec3  a,
glm::vec3  b,
float  radius,
const ScenePrimitivePaint &  paint,
std::uint32_t  segments = 32 
)

Draws capsule.

在文件 PrimitiveDrawList.cpp 第 743 行定义.

引用了 a, b, drawCylinder(), drawSphere() , 以及 radius.

被这些函数引用 eve::graphics_editing::PrimitiveGizmoRenderer::render() , 以及 eve::graphics::PrimitiveScene::tryRender().

◆ drawCone()

void eve::graphics::PrimitiveSceneCanvas3D::drawCone ( glm::vec3  apex,
glm::vec3  axis,
float  height,
float  radius,
const ScenePrimitivePaint &  paint,
std::uint32_t  segments = 32 
)

Records the base circle and four side lines of a cone.

在文件 PrimitiveDrawList.cpp 第 776 行定义.

引用了 direction, drawLine(), drawPolyline(), EV_PARAM_CHECK, eve::graphics::Fill, height, eve::graphics::PrimitivePaint::mode, radius, eve::graphics::Stroke, u , 以及 v.

被这些函数引用 drawArrow() , 以及 eve::graphics::PrimitiveScene::tryRender().

◆ drawCylinder()

void eve::graphics::PrimitiveSceneCanvas3D::drawCylinder ( glm::vec3  a,
glm::vec3  b,
float  radius,
const ScenePrimitivePaint &  paint,
std::uint32_t  segments = 32 
)

Records endpoint circles and four side lines of a cylinder.

在文件 PrimitiveDrawList.cpp 第 752 行定义.

引用了 a, b, drawLine(), drawPolyline(), eve::graphics::Fill, eve::graphics::PrimitivePaint::mode, radius, eve::graphics::Stroke, u , 以及 v.

被这些函数引用 drawCapsule() , 以及 eve::graphics::PrimitiveScene::tryRender().

◆ drawDisk()

void eve::graphics::PrimitiveSceneCanvas3D::drawDisk ( glm::vec3  center,
glm::vec3  normal,
float  radius,
const ScenePrimitivePaint &  paint,
std::uint32_t  segments = 32 
)

◆ drawFrustum()

void eve::graphics::PrimitiveSceneCanvas3D::drawFrustum ( const std::array< glm::vec3, 8 > &  corners,
const ScenePrimitivePaint &  paint 
)

◆ drawGrid()

void eve::graphics::PrimitiveSceneCanvas3D::drawGrid ( glm::vec3  origin,
glm::vec3  axisU,
glm::vec3  axisV,
std::uint32_t  cellsU,
std::uint32_t  cellsV,
const ScenePrimitivePaint &  paint 
)

Records a planar grid spanned by two caller-provided axes.

在文件 PrimitiveDrawList.cpp 第 673 行定义.

引用了 drawLine(), EV_PARAM_CHECK, origin , 以及 t.

被这些函数引用 eve::graphics::PrimitiveScene::tryRender().

◆ drawLine()

void eve::graphics::PrimitiveSceneCanvas3D::drawLine ( glm::vec3  a,
glm::vec3  b,
const ScenePrimitivePaint &  paint 
)

◆ drawObb()

void eve::graphics::PrimitiveSceneCanvas3D::drawObb ( glm::vec3  center,
const std::array< glm::vec3, 3 > &  halfAxes,
const ScenePrimitivePaint &  paint 
)

◆ drawPoint()

◆ drawPolyline()

void eve::graphics::PrimitiveSceneCanvas3D::drawPolyline ( std::span< const glm::vec3 >  points,
bool  closed,
const ScenePrimitivePaint &  paint 
)

◆ drawQuad()

void eve::graphics::PrimitiveSceneCanvas3D::drawQuad ( glm::vec3  a,
glm::vec3  b,
glm::vec3  c,
glm::vec3  d,
const ScenePrimitivePaint &  paint 
)

◆ drawRay()

void eve::graphics::PrimitiveSceneCanvas3D::drawRay ( glm::vec3  origin,
glm::vec3  direction,
float  length,
const ScenePrimitivePaint &  paint 
)

Draws ray.

在文件 PrimitiveDrawList.cpp 第 563 行定义.

引用了 direction, drawLine(), EV_PARAM_CHECK, length , 以及 origin.

◆ drawSphere() [1/2]

void eve::graphics::PrimitiveSceneCanvas3D::drawSphere ( glm::vec3  center,
float  radius,
const ScenePrimitivePaint &  paint,
const RadialTessellation &  tessellation 
)

◆ drawSphere() [2/2]

void eve::graphics::PrimitiveSceneCanvas3D::drawSphere ( glm::vec3  center,
float  radius,
const ScenePrimitivePaint &  paint,
std::uint32_t  segments = 32 
)

◆ drawTriangle()

void eve::graphics::PrimitiveSceneCanvas3D::drawTriangle ( glm::vec3  a,
glm::vec3  b,
glm::vec3  c,
const ScenePrimitivePaint &  paint 
)

◆ reset()

void eve::graphics::PrimitiveSceneCanvas3D::reset ( )

Resets .

在文件 PrimitiveDrawList.cpp 第 830 行定义.

◆ restore()

void eve::graphics::PrimitiveSceneCanvas3D::restore ( )

Restore.

在文件 PrimitiveDrawList.cpp 第 519 行定义.

引用了 EV_PARAM_CHECK.

被这些函数引用 eve::graphics_editing::PrimitiveGizmoRenderer::render().

◆ save()

void eve::graphics::PrimitiveSceneCanvas3D::save ( )

Saves .

在文件 PrimitiveDrawList.cpp 第 517 行定义.

被这些函数引用 eve::graphics_editing::PrimitiveGizmoRenderer::render().

◆ statistics()

const PrimitiveDrawStatistics & eve::graphics::PrimitiveSceneCanvas3D::statistics ( ) const
inlinenoexcept

◆ triangles()

const std::vector< TriangleCommand3D > & eve::graphics::PrimitiveSceneCanvas3D::triangles ( ) const
inlinenoexcept

Triangles.

在文件 PrimitiveDrawList.h 第 179 行定义.

被这些函数引用 eve::graphics::RenderSystem3D::render() , 以及 eve::graphics::resolvePrimitiveStrokes3D().

◆ tryDrawPolyline()

eve::Result< PrimitiveRecordStatus > eve::graphics::PrimitiveSceneCanvas3D::tryDrawPolyline ( std::span< const glm::vec3 >  points,
bool  closed,
const ScenePrimitivePaint &  paint 
)

友元及相关函数文档

◆ PrimitiveScene

friend class PrimitiveScene
friend

在文件 PrimitiveDrawList.h 第 184 行定义.


该类的文档由以下文件生成: