Seems to me like these would be a lot less trouble if we just constructed an hs(Point|Vector)3 instead of assuming memory layout compatibility...  e.g.:
```c++
static inline hsPoint3 hsP3(const Point3& p) { return hsPoint3(p.x, p.y, p.z); }
```
I highly doubt we really need the optimization of sharing memory here, especially since this is just for the Max tools, not the game engine itself >.>