|
IVW_CORE_API bool | hasPickIDBuffer (const Mesh *mesh) |
|
IVW_CORE_API bool | hasRadiiBuffer (const Mesh *mesh) |
|
IVW_MODULE_BASE_API std::pair< vec3, vec3 > | axisAlignedBoundingBox (const std::vector< std::shared_ptr< const Mesh >> &meshes) |
| Compute bounding box of meshes aligned to principal axes of world space. More...
|
|
IVW_MODULE_BASE_API std::pair< vec3, vec3 > | axisAlignedBoundingBox (const Mesh &mesh) |
| Compute bounding box of mesh aligned to principal axes of world space. Returns mesh offset in both min/max if the mesh does not have any vertices. More...
|
|
IVW_MODULE_BASE_API void | centerViewOnMeshes (const std::vector< std::shared_ptr< const Mesh >> &meshes, CameraProperty &camera, float minMaxRatio=10.f) |
| Set lookAt position of camera to the center point of the meshes and adjust near/far plane distances. Adjusts min/max parameters of lookTo and near/far plane according to the supplied minMaxRatio. More...
|
|
IVW_MODULE_BASE_API std::pair< float, float > | computeNearFarPlanes (std::pair< vec3, vec3 > worldSpaceBoundingBox, const CameraProperty &camera, float nearFarRatio=1.f/10000.f) |
| Compute near and far plane parameters covering the bounding box when maximally zoomed out. Projects the bounding box onto the view direction and selects the distance furthest away as far plane (increased by 1% to make sure that mesh is not clipped). The view directions considered are lookFrom min/max -> lookTo. Near plane is computed as max(1e^-6, farPlaneDistance * farNearRatio) More...
|
|
std::unique_ptr< Mesh > | toPointMesh (const Mesh &mesh) |
|
std::unique_ptr< Mesh > | toLineMesh (const Mesh &mesh) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | ellipse (const vec3 ¢er, const vec3 &majorAxis, const vec3 &minorAxis, const vec4 &color=vec4(1.0f, 0.0f, 0.0f, 1.0f), const float &radius=0.001f, const size_t &segments=16) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | disk (const vec3 ¢er, const vec3 &normal, const vec4 &color=vec4(1.0f, 0.0f, 0.0f, 1.0f), const float &radius=1.0f, const size_t &segments=16) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | cone (const vec3 &start, const vec3 &stop, const vec4 &color=vec4(1.0f, 0.0f, 0.0f, 1.0f), const float &radius=1.0f, const size_t &segments=16) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | cylinder (const vec3 &start, const vec3 &stop, const vec4 &color=vec4(1.0f, 0.0f, 0.0f, 1.0f), const float &radius=1.0f, const size_t &segments=16, bool caps=true, std::shared_ptr< BasicMesh > mesh=nullptr) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | line (const vec3 &start, const vec3 &stop, const vec3 &normal, const vec4 &color=vec4(1.0f, 0.0f, 0.0f, 1.0f), const float &width=1.0f, const ivec2 &res=ivec2(1)) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | arrow (const vec3 &start, const vec3 &stop, const vec4 &color=vec4(1.0f, 0.0f, 0.0f, 1.0f), const float &radius=1.0f, const float &arrowfraction=0.15f, const float &arrowRadius=2.0f, const size_t &segments=16) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | colorsphere (const vec3 ¢er, const float &radius, std::shared_ptr< BasicMesh > mesh=nullptr) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | sphere (const vec3 ¢er, const float &radius, const vec4 &color, std::shared_ptr< BasicMesh > mesh=nullptr) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | square (const vec3 ¢er, const vec3 &normal, const vec2 &extent, const vec4 &color=vec4(1, 1, 1, 1), const ivec2 &segments=ivec2(1)) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | cube (const mat4 &orientation, const vec4 &color=vec4(1, 1, 1, 1)) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | coordindicator (const vec3 ¢er, const float &size) |
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | boundingbox (const mat4 &basisandoffset, const vec4 &color) |
|
IVW_MODULE_BASE_API std::shared_ptr< PosTexColorMesh > | boundingBoxAdjacency (const mat4 &basisandoffset, const vec4 &color) |
| [Using PosTexColorMesh]
|
|
IVW_MODULE_BASE_API std::shared_ptr< BasicMesh > | torus (const vec3 ¢er, const vec3 &up_, float r1, float r2, const ivec2 &subdivisions, vec4 color) |
| [Using PosTexColorMesh]
|
|
IVW_MODULE_BASE_API std::shared_ptr< ColoredMesh > | cameraFrustum (const Camera &camera, vec4 color, std::shared_ptr< ColoredMesh > mesh) |
| [Using Colored Mesh]
|
|
template<typename Callback > |
void | forEachTriangle (const Mesh::MeshInfo &info, const IndexBuffer &ib, Callback callback) |
|
template<typename Callback > |
void | forEachLineSegment (const Mesh::MeshInfo &info, const IndexBuffer &ib, Callback callback) |
|