Public Member Functions | |
object | Clone () |
PtRtTriangle () | |
void | InitData (Vertex3f vertex1, Vertex3f vertex2, Vertex3f vertex3, Vertex3f normal1, Vertex3f normal2, Vertex3f normal3, bool isGLData) |
void | InitData (Vertex3f vertex1, Vertex3f vertex2, Vertex3f vertex3, Vertex2f uv1, Vertex2f uv2, Vertex2f uv3, bool isGLData) |
void | InitData (Vertex3f vertex1, Vertex3f vertex2, Vertex3f vertex3, Vertex2f uv1, Vertex2f uv2, Vertex2f uv3, Vertex3f normal1, Vertex3f normal2, Vertex3f normal3, bool isGLData) |
void | CalcBoundingBox () |
Vertex3f | GetFaceNormal () |
Vertex3f | GetNormal (ref PtRay ray, ref IntersectionInfo info, bool useSmoothing) |
PtIntersectionType | Intersect (PtRay ray, ref IntersectionInfo info, PtIntersectionMode mode) |
void | CalcAndAssignNormalsAndUV (ref PtRay ray, ref IntersectionInfo info, bool enableSmoothFaceNormal) |
void | AssignNormalAndUV (PtRay ray, IntersectionInfo info, bool enableSmoothFaceNormal) |
void | AssignUV (PtRay ray, IntersectionInfo info, bool enableSmoothFaceNormal) |
bool | IsLightFacing (ref Vertex3f light) |
void | IntersectGL (PtRay ray, ref IntersectionInfo info) |
void | Render () |
void | RenderLine () |
void | RenderWithMat (bool enableSmoothFaceNormal) |
void | RenderForSelection () |
Public Attributes | |
Vertex3f | V0 |
Vertex2f | UV0 |
Vertex3f | FaceNormal |
Vertex3f | N0 |
bool | hasUvs = false |
bool | hasNormal = false |
bool | isSmoothed = false |
Byte | selColorR = 0 |
Byte | selColorG = 0 |
Byte | selColorB = 0 |
int | MatID = 0 |
int | ID = 0 |
int | subBBID = -1 |
PtBoundingBoxRts | bb = null |
Static Public Attributes | |
static float | EPSILON = 0.00001f |
Powertek.Rt.PtRtTriangle.PtRtTriangle | ( | ) |
void Powertek.Rt.PtRtTriangle.AssignNormalAndUV | ( | PtRay | ray, | |
IntersectionInfo | info, | |||
bool | enableSmoothFaceNormal | |||
) |
Calculate and Assign the Normals and UV Coords at the info.IntersectionPoint, use this, if intersection was already calculated for this tri.
ray | ||
info | ||
enableSmoothFaceNormal |
void Powertek.Rt.PtRtTriangle.AssignUV | ( | PtRay | ray, | |
IntersectionInfo | info, | |||
bool | enableSmoothFaceNormal | |||
) |
Assign the UV Coords at the info.IntersectionPoint, info.Mu and info.Mv must be already assigned.
ray | ||
info | ||
enableSmoothFaceNormal |
void Powertek.Rt.PtRtTriangle.CalcAndAssignNormalsAndUV | ( | ref PtRay | ray, | |
ref IntersectionInfo | info, | |||
bool | enableSmoothFaceNormal | |||
) |
Calculate and Assign the Normals and UV Coords at the info.IntersectionPoint.
ray | ||
info | ||
enableSmoothFaceNormal |
void Powertek.Rt.PtRtTriangle.CalcBoundingBox | ( | ) |
CalcBoundingBox.
object Powertek.Rt.PtRtTriangle.Clone | ( | ) |
Clone Object.
Vertex3f Powertek.Rt.PtRtTriangle.GetFaceNormal | ( | ) |
Return Face Normal.
Vertex3f Powertek.Rt.PtRtTriangle.GetNormal | ( | ref PtRay | ray, | |
ref IntersectionInfo | info, | |||
bool | useSmoothing | |||
) |
Return Normal at info.IntersectionPoint, info mU and mV must be already assigned.
ray | ||
info | ||
useSmoothing |
void Powertek.Rt.PtRtTriangle.InitData | ( | Vertex3f | vertex1, | |
Vertex3f | vertex2, | |||
Vertex3f | vertex3, | |||
Vertex2f | uv1, | |||
Vertex2f | uv2, | |||
Vertex2f | uv3, | |||
Vertex3f | normal1, | |||
Vertex3f | normal2, | |||
Vertex3f | normal3, | |||
bool | isGLData | |||
) |
InitData.
vertex1 | ||
vertex2 | ||
vertex3 | ||
uv1 | ||
uv2 | ||
uv3 | ||
normal1 | ||
normal2 | ||
normal3 | ||
isGLData |
void Powertek.Rt.PtRtTriangle.InitData | ( | Vertex3f | vertex1, | |
Vertex3f | vertex2, | |||
Vertex3f | vertex3, | |||
Vertex2f | uv1, | |||
Vertex2f | uv2, | |||
Vertex2f | uv3, | |||
bool | isGLData | |||
) |
InitData.
vertex1 | ||
vertex2 | ||
vertex3 | ||
uv1 | ||
uv2 | ||
uv3 | ||
isGLData |
void Powertek.Rt.PtRtTriangle.InitData | ( | Vertex3f | vertex1, | |
Vertex3f | vertex2, | |||
Vertex3f | vertex3, | |||
Vertex3f | normal1, | |||
Vertex3f | normal2, | |||
Vertex3f | normal3, | |||
bool | isGLData | |||
) |
InitData.
vertex1 | ||
vertex2 | ||
vertex3 | ||
normal1 | ||
normal2 | ||
normal3 | ||
isGLData |
PtIntersectionType Powertek.Rt.PtRtTriangle.Intersect | ( | PtRay | ray, | |
ref IntersectionInfo | info, | |||
PtIntersectionMode | mode | |||
) |
Intersect with ray.
ray | ||
info | ||
mode |
void Powertek.Rt.PtRtTriangle.IntersectGL | ( | PtRay | ray, | |
ref IntersectionInfo | info | |||
) |
Intersect Helper for GL Acceleration, we know already that we have a intersect, so only calc the distance, and the tri helper.
ray | ||
info |
bool Powertek.Rt.PtRtTriangle.IsLightFacing | ( | ref Vertex3f | light | ) |
Check if the Triangle Faces the light.
light |
void Powertek.Rt.PtRtTriangle.Render | ( | ) |
Render Triangle with OpenGL.
void Powertek.Rt.PtRtTriangle.RenderForSelection | ( | ) |
Render Triangle with selection color.
void Powertek.Rt.PtRtTriangle.RenderLine | ( | ) |
Render Triangle as LineStrip with OpenGL.
void Powertek.Rt.PtRtTriangle.RenderWithMat | ( | bool | enableSmoothFaceNormal | ) |
Render Triangle with Texture or material.
enableSmoothFaceNormal |
Helper BB.
float Powertek.Rt.PtRtTriangle.EPSILON = 0.00001f [static] |
EPSILON.
Vertex3f Powertek.Rt.PtRtTriangle.FaceNormal |
FaceNormal.
bool Powertek.Rt.PtRtTriangle.hasNormal = false |
has assigned Normal
bool Powertek.Rt.PtRtTriangle.hasUvs = false |
has Uv Coords
int Powertek.Rt.PtRtTriangle.ID = 0 |
Triangle ID.
bool Powertek.Rt.PtRtTriangle.isSmoothed = false |
Has a smoothed Normal.
int Powertek.Rt.PtRtTriangle.MatID = 0 |
Material ID of this Triangle.
Vertex3f Powertek.Rt.PtRtTriangle.N0 |
Edge Normals.
Vertex3f Powertek.Rt.PtRtTriangle.N1 |
Vertex3f Powertek.Rt.PtRtTriangle.N2 |
Byte Powertek.Rt.PtRtTriangle.selColorB = 0 |
Selection Color B.
Byte Powertek.Rt.PtRtTriangle.selColorG = 0 |
Selection Color G.
Byte Powertek.Rt.PtRtTriangle.selColorR = 0 |
Selection Color R.
int Powertek.Rt.PtRtTriangle.subBBID = -1 |
subBBID
Vertex2f Powertek.Rt.PtRtTriangle.UV0 |
Edge UV Coords.
Vertex2f Powertek.Rt.PtRtTriangle.UV1 |
Vertex2f Powertek.Rt.PtRtTriangle.UV2 |
Vertex3f Powertek.Rt.PtRtTriangle.V0 |
Edge Vertices.
Vertex3f Powertek.Rt.PtRtTriangle.V1 |
Vertex3f Powertek.Rt.PtRtTriangle.V2 |