This page has been translated automatically.
Programming
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine::Geometry Class

Header:#include <UnigineGeometry.h>

Geometry Class

Members


void getClosestPointOnLine(const Math::dvec3 & point, const Math::dvec3 & p0, const Math::dvec3 & p1, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • Math::dvec3 & ret

void getClosestPointOnLine(const Math::vec3 & point, const Math::vec3 & p0, const Math::vec3 & p1, Math::vec3 & ret)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • Math::vec3 & ret

int getClosestPointOnTriangle(const Math::dvec3 & point, const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2
  • Math::dvec3 & ret

int getClosestPointOnTriangle(const Math::vec3 & point, const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2, Math::vec3 & ret)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2
  • Math::vec3 & ret

int getClosestPointsOnLines(const Math::dvec3 & p00, const Math::dvec3 & p01, const Math::dvec3 & p10, const Math::dvec3 & p11, Math::dvec3 & ret_0, Math::dvec3 & ret_1)

Arguments

  • const Math::dvec3 & p00
  • const Math::dvec3 & p01
  • const Math::dvec3 & p10
  • const Math::dvec3 & p11
  • Math::dvec3 & ret_0
  • Math::dvec3 & ret_1

int getClosestPointsOnLines(const Math::vec3 & p00, const Math::vec3 & p01, const Math::vec3 & p10, const Math::vec3 & p11, Math::vec3 & ret_0, Math::vec3 & ret_1)

Arguments

  • const Math::vec3 & p00
  • const Math::vec3 & p01
  • const Math::vec3 & p10
  • const Math::vec3 & p11
  • Math::vec3 & ret_0
  • Math::vec3 & ret_1

int irayBoundBoxIntersection(const Math::dvec3 & point, const Math::dvec3 & idirection, const Math::dvec3 & min, const Math::dvec3 & max)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & idirection
  • const Math::dvec3 & min
  • const Math::dvec3 & max

int irayBoundBoxIntersection(const Math::vec3 & point, const Math::vec3 & idirection, const Math::vec3 & min, const Math::vec3 & max)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & idirection
  • const Math::vec3 & min
  • const Math::vec3 & max

int linePlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec4 & plane)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec4 & plane

int linePlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec3 & plane_point, const Math::vec3 & plane_normal, Math::vec3 & ret)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec3 & plane_point
  • const Math::vec3 & plane_normal
  • Math::vec3 & ret

int linePlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec3 & plane_point, const Math::dvec3 & plane_normal)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec3 & plane_point
  • const Math::dvec3 & plane_normal

int linePlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec3 & plane_point, const Math::dvec3 & plane_normal, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec3 & plane_point
  • const Math::dvec3 & plane_normal
  • Math::dvec3 & ret

int linePlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec3 & plane_point, const Math::vec3 & plane_normal)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec3 & plane_point
  • const Math::vec3 & plane_normal

int linePlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec4 & plane, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec4 & plane
  • Math::dvec3 & ret

int linePlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec4 & plane, Math::vec3 & ret)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec4 & plane
  • Math::vec3 & ret

int linePlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec4 & plane)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec4 & plane

float normalizeAngle(float angle)

Arguments

  • float angle

void orthoBasis(const Math::vec3 & v, Math::vec3 & tangent, Math::vec3 & binormal)

Arguments

  • const Math::vec3 & v
  • Math::vec3 & tangent
  • Math::vec3 & binormal

void orthoBasis(const Math::dvec3 & v, Math::dvec3 & tangent, Math::dvec3 & binormal)

Arguments

  • const Math::dvec3 & v
  • Math::dvec3 & tangent
  • Math::dvec3 & binormal

Math::quat orthoTangent(const Math::vec3 & tangent, const Math::vec3 & binormal, const Math::vec3 & normal)

Arguments

  • const Math::vec3 & tangent
  • const Math::vec3 & binormal
  • const Math::vec3 & normal

Math::quat orthoTangent(const Math::vec4 & tangent, const Math::vec3 & normal)

Arguments

  • const Math::vec4 & tangent
  • const Math::vec3 & normal

void orthoTransform(const Math::dvec3 & v, Math::dmat4 & transform)

Arguments

  • const Math::dvec3 & v
  • Math::dmat4 & transform

void orthoTransform(const Math::vec3 & v, Math::mat4 & transform)

Arguments

  • const Math::vec3 & v
  • Math::mat4 & transform

float pointPolygonDistance(const Math::vec3 & point, const Math::vec3 * vertex, int[] indices, const Math::vec4 & plane)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 * vertex
  • int[] indices
  • const Math::vec4 & plane

double pointPolygonDistance(const Math::dvec3 & point, const Math::dvec3 * vertex, int[] indices, const Math::dvec4 & plane)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 * vertex
  • int[] indices
  • const Math::dvec4 & plane

int pointPolygonInside(const Math::vec3 & point, const Math::vec3 * vertex, int[] indices, const Math::vec3 & normal)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 * vertex
  • int[] indices
  • const Math::vec3 & normal

int pointPolygonInside(const Math::dvec3 & point, const Math::dvec3 * vertex, int[] indices, const Math::dvec3 & normal)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 * vertex
  • int[] indices
  • const Math::dvec3 & normal

void pointTriangleCoordinates(const Math::vec3 & point, const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2, float & a, float & b)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2
  • float & a
  • float & b

void pointTriangleCoordinates(const Math::dvec3 & point, const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2, double & a, double & b)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2
  • double & a
  • double & b

double pointTriangleDistance(const Math::dvec3 & point, const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2, const Math::dvec4 & plane)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2
  • const Math::dvec4 & plane

float pointTriangleDistance(const Math::vec3 & point, const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2, const Math::vec4 & plane)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2
  • const Math::vec4 & plane

int pointTriangleInside(const Math::vec3 & point, const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2, const Math::vec3 & normal)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2
  • const Math::vec3 & normal

int pointTriangleInside(const Math::dvec3 & point, const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2, const Math::dvec3 & normal)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2
  • const Math::dvec3 & normal

int pointTriangleInside(const Math::dvec3 & point, const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2

int pointTriangleInside(const Math::vec3 & point, const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2

Math::vec4 polygonPlane(const Math::vec3 * vertex, int[] indices)

Arguments

  • const Math::vec3 * vertex
  • int[] indices

Math::dvec4 polygonPlane(const Math::dvec3 * vertex, int[] indices)

Arguments

  • const Math::dvec3 * vertex
  • int[] indices

Math::vec3 projectOntoPlane(const Math::vec3 & v, const Math::vec3 & plane_normal)

Arguments

  • const Math::vec3 & v
  • const Math::vec3 & plane_normal

Math::dvec3 projectOntoPlane(const Math::dvec3 & v, const Math::dvec3 & plane_normal)

Arguments

  • const Math::dvec3 & v
  • const Math::dvec3 & plane_normal

int rayBoundBoxIntersection(const Math::dvec3 & point, const Math::dvec3 & direction, const Math::dvec3 & min, const Math::dvec3 & max)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & direction
  • const Math::dvec3 & min
  • const Math::dvec3 & max

int rayBoundBoxIntersection(const Math::vec3 & point, const Math::vec3 & direction, const Math::vec3 & min, const Math::vec3 & max)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & direction
  • const Math::vec3 & min
  • const Math::vec3 & max

int rayPlaneIntersection(const Math::vec3 & point, const Math::vec3 & direction, const Math::vec4 & plane)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & direction
  • const Math::vec4 & plane

int rayPlaneIntersection(const Math::vec3 & point, const Math::vec3 & direction, const Math::vec3 & plane_point, const Math::vec3 & plane_normal)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & direction
  • const Math::vec3 & plane_point
  • const Math::vec3 & plane_normal

int rayPlaneIntersection(const Math::dvec3 & point, const Math::dvec3 & direction, const Math::dvec4 & plane, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & direction
  • const Math::dvec4 & plane
  • Math::dvec3 & ret

int rayPlaneIntersection(const Math::vec3 & point, const Math::vec3 & direction, const Math::vec3 & plane_point, const Math::vec3 & plane_normal, Math::vec3 & ret)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & direction
  • const Math::vec3 & plane_point
  • const Math::vec3 & plane_normal
  • Math::vec3 & ret

int rayPlaneIntersection(const Math::vec3 & point, const Math::vec3 & direction, const Math::vec4 & plane, Math::vec3 & ret)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & direction
  • const Math::vec4 & plane
  • Math::vec3 & ret

int rayPlaneIntersection(const Math::dvec3 & point, const Math::dvec3 & direction, const Math::dvec3 & plane_point, const Math::dvec3 & plane_normal)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & direction
  • const Math::dvec3 & plane_point
  • const Math::dvec3 & plane_normal

int rayPlaneIntersection(const Math::dvec3 & point, const Math::dvec3 & direction, const Math::dvec3 & plane_point, const Math::dvec3 & plane_normal, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & direction
  • const Math::dvec3 & plane_point
  • const Math::dvec3 & plane_normal
  • Math::dvec3 & ret

int rayPlaneIntersection(const Math::dvec3 & point, const Math::dvec3 & direction, const Math::dvec4 & plane)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & direction
  • const Math::dvec4 & plane

int rayTriangleIntersection(const Math::vec3 & point, const Math::vec3 & direction, const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2)

Arguments

  • const Math::vec3 & point
  • const Math::vec3 & direction
  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2

int rayTriangleIntersection(const Math::dvec3 & point, const Math::dvec3 & direction, const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2)

Arguments

  • const Math::dvec3 & point
  • const Math::dvec3 & direction
  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2

int segmentPlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec4 & plane, Math::vec3 & ret)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec4 & plane
  • Math::vec3 & ret

int segmentPlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec3 & plane_point, const Math::vec3 & plane_normal)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec3 & plane_point
  • const Math::vec3 & plane_normal

int segmentPlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec4 & plane)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec4 & plane

int segmentPlaneIntersection(const Math::vec3 & p0, const Math::vec3 & p1, const Math::vec3 & plane_point, const Math::vec3 & plane_normal, Math::vec3 & ret)

Arguments

  • const Math::vec3 & p0
  • const Math::vec3 & p1
  • const Math::vec3 & plane_point
  • const Math::vec3 & plane_normal
  • Math::vec3 & ret

int segmentPlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec4 & plane)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec4 & plane

int segmentPlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec3 & plane_point, const Math::dvec3 & plane_normal)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec3 & plane_point
  • const Math::dvec3 & plane_normal

int segmentPlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec4 & plane, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec4 & plane
  • Math::dvec3 & ret

int segmentPlaneIntersection(const Math::dvec3 & p0, const Math::dvec3 & p1, const Math::dvec3 & plane_point, const Math::dvec3 & plane_normal, Math::dvec3 & ret)

Arguments

  • const Math::dvec3 & p0
  • const Math::dvec3 & p1
  • const Math::dvec3 & plane_point
  • const Math::dvec3 & plane_normal
  • Math::dvec3 & ret

double triangleArea(const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2)

Arguments

  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2

float triangleArea(const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2)

Arguments

  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2

Math::dvec3 triangleNormal(const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2)

Arguments

  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2

Math::vec3 triangleNormal(const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2)

Arguments

  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2

Math::vec4 trianglePlane(const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2)

Arguments

  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2

Math::dvec4 trianglePlane(const Math::dvec3 & v0, const Math::dvec3 & v1, const Math::dvec3 & v2)

Arguments

  • const Math::dvec3 & v0
  • const Math::dvec3 & v1
  • const Math::dvec3 & v2

Math::vec4 triangleTangent(const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2, const Math::vec2 & t0, const Math::vec2 & t1, const Math::vec2 & t2)

Arguments

  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2
  • const Math::vec2 & t0
  • const Math::vec2 & t1
  • const Math::vec2 & t2

Math::vec4 triangleTangent(const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2, const Math::vec2 & t0, const Math::vec2 & t1, const Math::vec2 & t2, const Math::vec3 & normal)

Arguments

  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2
  • const Math::vec2 & t0
  • const Math::vec2 & t1
  • const Math::vec2 & t2
  • const Math::vec3 & normal

Math::vec4 triangleTangent(const Math::vec3 & v0, const Math::vec3 & v1, const Math::vec3 & v2)

Arguments

  • const Math::vec3 & v0
  • const Math::vec3 & v1
  • const Math::vec3 & v2
Last update: 2017-07-03
Build: ()