Allolib
1.0
C++ Components For Interactive Multimedia
|
Public Member Functions | |
void | addCircle (Mesh &m, float r, int n) |
void | set (PickableRotateHandle &rh) |
void | draw (Graphics &g) |
Hit | intersect (Rayd r) override |
intersection test must be implemented | |
bool | onEvent (PickEvent e, Hit h) override |
override callback | |
virtual Hit | intersect (Vec3d v) |
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 | |
Vec3f | downPos |
Vec3f | newPos |
Vec3f | downDir |
Vec3f | newDir |
Quatf | rotate |
bool | hover [3] = {false, false, false} |
bool | selected [3] = {false, false, false} |
float | size = 1.0f |
float | dr = 0.1f |
std::string | 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 12 of file al_PickableRotateHandle.hpp.