HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_RayIntersect Class Reference

#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_Detaildetail () 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_RaySerialgetSerialList () 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)
 

Protected Member Functions

void destroyTrees ()
 

Detailed Description

Examples:
SIM/SNOW_Solver.C, SOP/SOP_SParticle.C, and SOP/SOP_SParticle.h.

Definition at line 355 of file GU_RayIntersect.h.

Constructor & Destructor Documentation

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 gdp0,
const GU_Detail gdp1 
)
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 ( )

Member Function Documentation

void GU_RayIntersect::clear ( )
void GU_RayIntersect::destroyTrees ( )
protected
const GU_Detail* GU_RayIntersect::detail ( ) const
inline

Definition at line 431 of file GU_RayIntersect.h.

static void GU_RayIntersect::fixBrokenUVs ( const GEO_Primitive prim,
float &  u,
float &  v 
)
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 
)
Examples:
SOP/SOP_SParticle.C.
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 
)
bool GU_RayIntersect::init ( void  ) const
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
Examples:
SIM/SNOW_Solver.C.
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::validForDeformingGeometry ( const GU_Detail gdp0,
const GU_Detail gdp1 
)
static
bool GU_RayIntersect::validForDetail ( const GU_Detail gdp) const

The documentation for this class was generated from the following file: