应用转换后如何更新 Actor?
How to update Actor after applying Transformation?
目前我通过以下代码将翻译应用于演员:
vtkSmartPointer<vtkTransform> translation =
vtkSmartPointer<vtkTransform>::New();
translation->PostMultiply(); //this is the key line
translation->Translate(translationVector);
patella->getActor()->SetUserTransform(translation);
但是,如果我申请
patella->getActor()->SetUserTransform(translation);
再次。演员保持在同一个位置,就好像我只应用了一次一样。我知道这是因为原点没有更新。因此,如何在每次翻译后更新 origin/actor?
您想连接转换。类似于:
vtkActor* patellaActor = patella->GetActor();
vtkTransform* patellaXfm = patellaActor->GetUserTransform();
if (!patellaXfm) {
patellaActor->SetUserTransform(translation);
} else {
patellaXfm->Concatenate(translation);
}
目前我通过以下代码将翻译应用于演员:
vtkSmartPointer<vtkTransform> translation =
vtkSmartPointer<vtkTransform>::New();
translation->PostMultiply(); //this is the key line
translation->Translate(translationVector);
patella->getActor()->SetUserTransform(translation);
但是,如果我申请
patella->getActor()->SetUserTransform(translation);
再次。演员保持在同一个位置,就好像我只应用了一次一样。我知道这是因为原点没有更新。因此,如何在每次翻译后更新 origin/actor?
您想连接转换。类似于:
vtkActor* patellaActor = patella->GetActor();
vtkTransform* patellaXfm = patellaActor->GetUserTransform();
if (!patellaXfm) {
patellaActor->SetUserTransform(translation);
} else {
patellaXfm->Concatenate(translation);
}