-
- if (bbGetInputRotateWXYZ().size()>=4)
- {
- result->RotateWXYZ(bbGetInputRotateWXYZ()[0],bbGetInputRotateWXYZ()[1], bbGetInputRotateWXYZ()[2], bbGetInputRotateWXYZ()[3]);
- }
-
- result->Update();
-
- bbSetOutputOut(result);
-}
-
-
-void Transform::bbUserConstructor()
-{
- bbSetInputIn(NULL);
-
- vecScale.push_back(1); // scale x
- vecScale.push_back(1); // scale y
- vecScale.push_back(1); // scale z
- bbSetInputScale(vecScale);
-
- vecRotateWXYZ.push_back(0); //angle
- vecRotateWXYZ.push_back(1); //vx
- vecRotateWXYZ.push_back(0); //vy
- vecRotateWXYZ.push_back(0); //vz
- bbSetInputRotateWXYZ(vecRotateWXYZ);
-
- vecTranslate.push_back(0); //tx
- vecTranslate.push_back(0); //ty
- vecTranslate.push_back(0); //tz
- bbSetInputTranslate(vecTranslate);
-
- vecSpacing.push_back(1); //spacing x
- vecSpacing.push_back(1); //spacing y
- vecSpacing.push_back(1); //spacing z
- bbSetInputTranslate(vecSpacing);
-
- result = NULL;
-}
-/*
-void Transform::bbUserCopyConstructor()
-{
-
-
-}
-*/
-void Transform::bbUserDestructor()
-{
-
+
+
+ // --------------------------------------------------------------
+ void Transform::Process()
+ {
+ printf("EED %p Transform::Process() 1\n", this);
+ bbUserInitializeProcessing();
+ if (bbGetInputIn()!=NULL)
+ {
+ result->Concatenate( bbGetInputIn()->GetMatrix() );
+ printf("EED %p Transform::Process() 2\n", this);
+ }
+
+ if (bbGetInputScale().size()>=3)
+ {
+ result->Scale(bbGetInputScale()[0], bbGetInputScale()[1], bbGetInputScale()[2]);
+ printf("EED %p Transform::Process() 3\n", this);
+ }
+
+ if ((bbGetInputTranslate().size()>=3) && (bbGetInputSpacing().size()>=3))
+ {
+ double tx = bbGetInputTranslate()[0] * bbGetInputSpacing()[0];
+ double ty = bbGetInputTranslate()[1] * bbGetInputSpacing()[1];
+ double tz = bbGetInputTranslate()[2] * bbGetInputSpacing()[2];
+ result->Translate(tx,ty,tz);
+ printf("EED %p Transform::Process() 4\n", this);
+ }
+
+ if (bbGetInputRotateWXYZ().size()>=4)
+ {
+ result->RotateWXYZ(bbGetInputRotateWXYZ()[0],bbGetInputRotateWXYZ()[1], bbGetInputRotateWXYZ()[2], bbGetInputRotateWXYZ()[3]);
+ printf("EED %p Transform::Process() 5\n", this);
+ }
+
+ result->Update();
+ printf("EED %p Transform::Process() 6\n", this);
+
+ bbSetOutputOut(result);
+ }