Allolib
1.0
C++ Components For Interactive Multimedia
|
Public Member Functions | |
virtual Hit | intersect (Rayd r)=0 |
intersection test must be implemented | |
virtual Hit | intersect (Vec3d v) |
virtual bool | onEvent (PickEvent e, Hit hit) |
override callback | |
virtual bool | event (PickEvent e) |
do interaction on self and children, call onEvent callbacks | |
void | clearSelection () |
bool | intersects (Rayd &r) |
bool | intersectsChild (Rayd &r) |
Hit | intersectChildren (Rayd &r) |
void | addChild (Pickable &pickable) |
void | addChild (Pickable *p) |
void | pushMatrix (Graphics &g) |
apply pickable pose transforms | |
void | popMatrix (Graphics &g) |
pop matrix. | |
void | draw (Graphics &g, std::function< void(Pickable &p)> f=[](Pickable &p) {}) |
void | foreach (std::function< void(Pickable &p)> pre, std::function< void(Pickable &p)> post=[](Pickable &) { }) |
Rayd | transformRayLocal (const Rayd &ray) |
transform a ray in world space to local space | |
Vec3f | transformVecWorld (const Vec3f &v, float w=1) |
transfrom a vector in local space to world space | |
Vec3f | transformVecLocal (const Vec3f &v, float w=1) |
transfrom a vector in world space to local space | |
Public Attributes | |
std::string | name |
ParameterBool | hover {"hover", name} |
ParameterBool | selected {"selected", name} |
ParameterPose | pose {"pose", name} |
ParameterVec3 | scaleVec {"scaleVec", name} |
Parameter | scale {"scale", name, 1.0f, "", 0.0f, 10.0f} |
ParameterBundle | bundle {"pickable"} |
Pickable * | parent = nullptr |
std::vector< Pickable * > | children |
bool | testChildren = true |
bool | containChildren = false |
bool | containedChild = false |
int | depth = 0 |
Pose | pose0 |
Pose | prevPose |
Vec3f | scale0 |
Vec3f | prevScale |
Definition at line 59 of file al_Pickable.hpp.