HDK
|
#include <GU_RayIntersect.h>
Public Member Functions | |
GU_RayIntersect () | |
GU_RayIntersect (const GU_Detail *gdp, const GA_PrimitiveGroup *group=nullptr, bool picking=false, bool polyline=false, bool harden=false, bool usevisibility=false, bool solidtet=false) | |
GU_RayIntersect (const GU_Detail *gdp, const GEO_Primitive *prim, bool polyline=false, bool solidtet=false) | |
GU_RayIntersect (const GU_Detail *gdp0, const GU_Detail *gdp1) | |
GU_RayIntersect (const GU_Detail *gdp, const GU_Detail *limit_gdp, const GA_PrimitiveGroup *vis_group, bool picking=false, bool polyline=false, bool harden=false, bool usevisibility=false) | |
~GU_RayIntersect () | |
void | init (const GU_Detail *gdp, const GA_PrimitiveGroup *group=nullptr, bool picking=false, bool polyline=false, bool harden=false, bool usevisibility=false, bool solidtet=false) |
void | init (const GU_Detail *gdp, const GEO_Primitive *prim, bool polyline=false, bool solidtet=false) |
void | init (const GU_Detail *gdp, const GU_Detail *limit_gdp, const GA_PrimitiveGroup *limit_group, bool picking=false, bool polyline=false, bool harden=false, bool usevisibility=false) |
bool | init () const |
void | clear () |
bool | validForDetail (const GU_Detail *gdp) const |
const GU_Detail * | detail () const |
int | sendRay (const UT_Vector3 &org, const UT_Vector3 &dir, GU_RayInfo &hitinfo) const |
int | minimumPoint (const UT_Vector3 &p, GU_MinInfo &mininfo, const GEO_Primitive *prim=0) const |
int | proximityPoint (UT_Array< GU_MinInfo > &hit_list, const UT_Vector3 &p, bool normalize_weights, const GU_ProximityHelper *helper, float radius=0.0f) const |
int | intersectPrim (const GEO_Detail &prim_geo, GU_RayPrimInfo &prim, GU_RayInfo &hitinfo) |
int | intersectCaches (GU_RayIntersect &intersect, GU_RayInfo &hitinfo) |
int | minimumCaches (const GU_RayIntersect &intersect, GU_MinInfo &mininfo) const |
int | isInside (const UT_Vector3 &pt, bool ignoretrim=true, float tol=0.1) const |
int | isInsideWinding (const UT_Vector3 &pt, bool ignoretrim=true, float tol=0.1) const |
bool | isEmpty () const |
Returns true if there are no primitives to intersect against. More... | |
GU_RaySerial * | getSerialList () const |
int64 | getMemoryUsage (bool inclusive) const |
Report approximate memory usage. More... | |
Static Public Member Functions | |
static bool | validForDeformingGeometry (const GU_Detail *gdp0, const GU_Detail *gdp1) |
static void | fixBrokenUVs (const GEO_Primitive *prim, float &u, float &v) |
static void | fixBrokenUVs (const GEO_ConstPrimitiveP &prim, float &u, float &v) |
static void | fixBrokenUVs (const GEO_Primitive *prim, double &u, double &v) |
static void | fixBrokenUVs (const GEO_ConstPrimitiveP &prim, double &u, double &v) |
Protected Member Functions | |
void | destroyTrees () |
Definition at line 355 of file GU_RayIntersect.h.
GU_RayIntersect::GU_RayIntersect | ( | ) |
GU_RayIntersect::GU_RayIntersect | ( | const GU_Detail * | gdp, |
const GA_PrimitiveGroup * | group = nullptr , |
||
bool | picking = false , |
||
bool | polyline = false , |
||
bool | harden = false , |
||
bool | usevisibility = false , |
||
bool | solidtet = false |
||
) |
GU_RayIntersect::GU_RayIntersect | ( | const GU_Detail * | gdp, |
const GEO_Primitive * | prim, | ||
bool | polyline = false , |
||
bool | solidtet = false |
||
) |
GU_RayIntersect::GU_RayIntersect | ( | const GU_Detail * | gdp, |
const GU_Detail * | limit_gdp, | ||
const GA_PrimitiveGroup * | vis_group, | ||
bool | picking = false , |
||
bool | polyline = false , |
||
bool | harden = false , |
||
bool | usevisibility = false |
||
) |
GU_RayIntersect::~GU_RayIntersect | ( | ) |
void GU_RayIntersect::clear | ( | ) |
|
protected |
|
inline |
Definition at line 431 of file GU_RayIntersect.h.
|
static |
|
static |
|
static |
|
static |
int64 GU_RayIntersect::getMemoryUsage | ( | bool | inclusive | ) | const |
Report approximate memory usage.
GU_RaySerial* GU_RayIntersect::getSerialList | ( | ) | const |
void GU_RayIntersect::init | ( | const GU_Detail * | gdp, |
const GA_PrimitiveGroup * | group = nullptr , |
||
bool | picking = false , |
||
bool | polyline = false , |
||
bool | harden = false , |
||
bool | usevisibility = false , |
||
bool | solidtet = false |
||
) |
void GU_RayIntersect::init | ( | const GU_Detail * | gdp, |
const GEO_Primitive * | prim, | ||
bool | polyline = false , |
||
bool | solidtet = false |
||
) |
void GU_RayIntersect::init | ( | const GU_Detail * | gdp, |
const GU_Detail * | limit_gdp, | ||
const GA_PrimitiveGroup * | limit_group, | ||
bool | picking = false , |
||
bool | polyline = false , |
||
bool | harden = false , |
||
bool | usevisibility = false |
||
) |
|
inline |
Definition at line 421 of file GU_RayIntersect.h.
int GU_RayIntersect::intersectCaches | ( | GU_RayIntersect & | intersect, |
GU_RayInfo & | hitinfo | ||
) |
int GU_RayIntersect::intersectPrim | ( | const GEO_Detail & | prim_geo, |
GU_RayPrimInfo & | prim, | ||
GU_RayInfo & | hitinfo | ||
) |
bool GU_RayIntersect::isEmpty | ( | ) | const |
Returns true if there are no primitives to intersect against.
int GU_RayIntersect::isInside | ( | const UT_Vector3 & | pt, |
bool | ignoretrim = true , |
||
float | tol = 0.1 |
||
) | const |
int GU_RayIntersect::isInsideWinding | ( | const UT_Vector3 & | pt, |
bool | ignoretrim = true , |
||
float | tol = 0.1 |
||
) | const |
int GU_RayIntersect::minimumCaches | ( | const GU_RayIntersect & | intersect, |
GU_MinInfo & | mininfo | ||
) | const |
int GU_RayIntersect::minimumPoint | ( | const UT_Vector3 & | p, |
GU_MinInfo & | mininfo, | ||
const GEO_Primitive * | prim = 0 |
||
) | const |
int GU_RayIntersect::proximityPoint | ( | UT_Array< GU_MinInfo > & | hit_list, |
const UT_Vector3 & | p, | ||
bool | normalize_weights, | ||
const GU_ProximityHelper * | helper, | ||
float | radius = 0.0f |
||
) | const |
int GU_RayIntersect::sendRay | ( | const UT_Vector3 & | org, |
const UT_Vector3 & | dir, | ||
GU_RayInfo & | hitinfo | ||
) | const |
|
static |
bool GU_RayIntersect::validForDetail | ( | const GU_Detail * | gdp | ) | const |