Ejemplo n.º 1
0
void plLeafController::AllocKeys(unsigned int numKeys, unsigned int type) {
    DeallocKeys();
    fType = type;
    fKeys.setSizeNull(numKeys);

    switch (fType) {
    case hsKeyFrame::kPoint3KeyFrame:
    case hsKeyFrame::kBezPoint3KeyFrame:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsPoint3Key();
        break;
    case hsKeyFrame::kScalarKeyFrame:
    case hsKeyFrame::kBezScalarKeyFrame:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsScalarKey();
        break;
    case hsKeyFrame::kScaleKeyFrame:
    case hsKeyFrame::kBezScaleKeyFrame:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsScaleKey();
        break;
    case hsKeyFrame::kQuatKeyFrame:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsQuatKey();
        break;
    case hsKeyFrame::kCompressedQuatKeyFrame32:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsCompressedQuatKey32();
        break;
    case hsKeyFrame::kCompressedQuatKeyFrame64:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsCompressedQuatKey64();
        break;
    case hsKeyFrame::k3dsMaxKeyFrame:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsG3DSMaxKeyFrame();
        break;
    case hsKeyFrame::kMatrix33KeyFrame:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsMatrix33Key();
        break;
    case hsKeyFrame::kMatrix44KeyFrame:
        for (size_t i=0; i<numKeys; i++)
            fKeys[i] = new hsMatrix44Key();
        break;
    default:
        break;
    }
}
Ejemplo n.º 2
0
void plLeafController::setKeys(const hsTArray<hsKeyFrame*>& keys, unsigned int type) {
    DeallocKeys();
    AllocKeys(keys.getSize(), type);
    for (size_t i=0; i<keys.getSize(); i++)
        fKeys[i] = keys[i];
}
Ejemplo n.º 3
0
plLeafController::~plLeafController() {
    DeallocKeys();
    DeallocControllers();
}
Ejemplo n.º 4
0
void plLeafController::setKeys(const std::vector<hsKeyFrame*>& keys, unsigned int type) {
    DeallocKeys();
    AllocKeys(keys.size(), type);
    for (size_t i=0; i<keys.size(); i++)
        *fKeys[i] = *keys[i];
}