Thread: [PXCDD-commit] SF.net SVN: pxcdd: [398] trunk/client/c4d/pxcdd-turntable.cof
Status: Alpha
Brought to you by:
tangentsoft
From: <ric...@us...> - 2006-07-15 21:03:42
|
Revision: 398 Author: ricknroll Date: 2006-07-15 14:03:39 -0700 (Sat, 15 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=398&view=rev Log Message: ----------- created basic structure for turntable plugin based on pxcddup Added Paths: ----------- trunk/client/c4d/pxcdd-turntable.cof Added: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof (rev 0) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-15 21:03:39 UTC (rev 398) @@ -0,0 +1,129 @@ +/*********************************************************************** + pxcdd-turntable.cof - COFFEE plugin for C4D R9.1+ that generates a + turntable animation + + Created 2006.07.13 by Rick Barrett + + Copyright (c) 2006 by Pixel Corps. This program may be used under + the terms of the X11 license, a copy of which should have accompanied + this program, in the LICENSE file. +***********************************************************************/ + +//// class PXCDDTurntablePlugin //////////////////////////////////////// + +class PXCDDTurntablePlugin : MenuPlugin +{ +public: + // ctor + PXCDDTurntablePlugin(); + + // Parent class overrides + Execute(doc); + GetHelp(); + GetID(); + GetIcon(); + GetName(); + +protected: + + +private: + + +} + +//// Execute /////////////////////////////////////////////////////////// +// The main event...run the plugin on the document. + +PXCDDTurntablePlugin::Execute(doc) +{ + /* + + // Set up the options dialog, setting the controls' values to their + // previous ones as stored in the preference file. + var dlg = new(PXCDDUploadDlg); + + var prefs = new(PXCPreferences); + prefs->prefFile = "pxcdd-upload.pref"; + prefs->LoadFile(); + dlg->SetControlData(prefs->GetValues()); + + // Display the dialog, and do the meat of the plugin if user okays + // the dialog. + if (dlg->Open(-1, -1) && dlg->GetResult()) { + // Retrieve the data from the dialog's input controls + var controls = dlg->GetControlData(); + + // Save control data out to our preference file, so we can + // reload it on the next run. + prefs->SetValues(controls); + prefs->SaveFile(); + + } + */ + +} + + +//////////////////////////////////////////////////////////////////////// +// Standard overrides for telling C4D about this plugin. + +PXCDDTurntablePlugin::PXCDDTurntablePlugin() { super(); } // never called!! +PXCDDTurntablePlugin::GetID() { return 1020091; } // registered to Warren Young +PXCDDTurntablePlugin::GetName() { return "PXCDD Turntable"; } +PXCDDTurntablePlugin::GetIcon() +{ + var icoPath=GeGetRootFilename(); + icoPath->RemoveLast(); + icoPath->AddLast("res"); + icoPath->AddLast("upload-icon.png"); + var ico = new(BaseBitmap, 64, 64); + ico->Load(icoPath, 0); + return ico; +} +PXCDDTurntablePlugin::GetHelp() +{ + return stradd("Creates a turntable camera animation"); +} + + +//// ReadVersionFile /////////////////////////////////////////////////// + +ReadVersionFile() +{ + var path = GeGetRootFilename(); + path->RemoveLast(); + path->AddLast("version.txt"); + + var file = new(BaseFile); + if (file->Open(path)) { + var data = file->ReadString(file->GetLength()); + + var i; + for (i = 0; i < sizeof(data); ++i) { + if (isspace(data[i])) { + data = strmid(data, 0, i); + break; + } + } + + return data; + } + else { + return "UNKNOWN"; + } +} + + +//// main ////////////////////////////////////////////////////////////// + +main() +{ + Register(PXCDDTurntablePlugin); + + println("-------------"); + println("Pixel Corps digital dailies turntable script started."); + println("Version ", ReadVersionFile(), ", $Revision: 355 $"); + println("-------------"); +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-17 02:44:42
|
Revision: 399 Author: ricknroll Date: 2006-07-16 19:44:37 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=399&view=rev Log Message: ----------- Added code to determine scene extents. It's not working, but I wanted to checkin my progress. Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-15 21:03:39 UTC (rev 398) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-17 02:44:37 UTC (rev 399) @@ -16,6 +16,9 @@ public: // ctor PXCDDTurntablePlugin(); + + GetSceneBounds(doc); + GetObjectBounds(op); // Parent class overrides Execute(doc); @@ -28,10 +31,126 @@ private: + GetNextHierarchyObject(obj, stopAt); + MakeEditable(doc, obj); +} +PXCDDTurntablePlugin::GetNextHierarchyObject(obj, stopAt) +{ + // This function by Mikael Sterner + // From plugincafe.com + + if (!obj) return NULL; + + var next; + if (next = obj->GetDown()) return next; + if (next = obj->GetNext()) return next; + + var up = obj; + while (up = up->GetUp()) { + if (up == stopAt) return NULL; + if (next = up->GetNext()) return next; + } } +PXCDDTurntablePlugin::MakeEditable(doc, obj) +{ + var bc = new(BaseContainer); + doc->AddUndo(UNDO_OBJECT_REC, obj); + return SendModelingCommand(MCOMMAND_MAKEeditable, doc, obj, bc, MODIFY_ALL); +} + +//// GetObjectBounds /////////////////////////////////////////////////// +// Loop through object points and return matrix with: +// -- Negative extents +// -- Positive extents +// -- Center point +// -- Total size + +PXCDDTurntablePlugin::GetObjectBounds(op) +{ + var vec_min = vector(0,0,0); + var vec_max = vector(0,0,0); + var vec_pnt; + + var arr = op->GetPoints(); + + if(instanceof(op, PointObject)) { + + var p; for(p = 0; p < op->GetPointCount(); p++) { + println(arr[p]); + vec_pnt = op->GetPoint(p); + if(vec_pnt.x < vec_min.x) vec_min.x = vec_pnt.x; + if(vec_pnt.y < vec_min.y) vec_min.y = vec_pnt.y; + if(vec_pnt.z < vec_min.z) vec_min.z = vec_pnt.z; + if(vec_pnt.x > vec_max.x) vec_max.x = vec_pnt.x; + if(vec_pnt.y > vec_max.y) vec_max.y = vec_pnt.y; + if(vec_pnt.z > vec_max.z) vec_max.z = vec_pnt.z; + } + + } + + var vec_ctr = (vec_min + vec_max) / 2; + var vec_siz = abs(vec_min) + abs(vec_max); + + println(op->GetName(), "::", vec_min, "//", vec_max, "//", vec_ctr, "//", vec_siz); +} + +//// GetSceneBounds /////////////////////////////////////////////////// +// Loop through scene and return matrix with: +// -- Negative extents +// -- Positive extents +// -- Center point + +PXCDDTurntablePlugin::GetSceneBounds(doc) +{ + // Start Undo Step so we can undo all the MakeEditables + doc->StartUndo(); + + var op = doc->GetFirstObject(); + while(op) { + println(op->GetName()); + println(getclass(op)); + switch( getclass(op) ) { + + case LightObject: + case CameraObject: + case FloorObject: + case SkyObject: + case EnvironmentObject: + case ForegroundObject: + case BackgroundObject: + // Skip any processing + break; + + case PointObject: + case PolygonObject: + // Get the Object Extents + println("Point"); + GetObjectBounds(op); + break; + + default: + // Make the object editable + if(MakeEditable(doc, op)) { + op = GetActiveObject(doc); + }; + if(instanceof(op, PointObject)) { + GetObjectBounds(op); + } + + } + op = GetNextHierarchyObject(op, NULL); + + } + + // End the Undo Step, and undo the MakeEditables + doc->EndUndo(); + //doc->DoUndo(); + +} + //// Execute /////////////////////////////////////////////////////////// // The main event...run the plugin on the document. @@ -61,7 +180,9 @@ } */ - + println("Here"); + GetSceneBounds(doc); + println("there"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 04:13:24
|
Revision: 405 Author: ricknroll Date: 2006-07-19 21:13:11 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=405&view=rev Log Message: ----------- Now properly getting scene and object extents - I think Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:04:23 UTC (rev 404) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:13:11 UTC (rev 405) @@ -70,17 +70,20 @@ PXCDDTurntablePlugin::GetObjectBounds(op) { - var vec_min = vector(0,0,0); - var vec_max = vector(0,0,0); + var vec_min; + var vec_max; var vec_pnt; var arr = op->GetPoints(); if(instanceof(op, PointObject)) { + + vec_pnt = op->GetMg()->GetV0() + op->GetPoint(0); + vec_min = vec_pnt; + vec_max = vec_pnt; var p; for(p = 0; p < op->GetPointCount(); p++) { - println(arr[p]); - vec_pnt = op->GetPoint(p); + vec_pnt = op->GetMg()->GetV0() + op->GetPoint(p); if(vec_pnt.x < vec_min.x) vec_min.x = vec_pnt.x; if(vec_pnt.y < vec_min.y) vec_min.y = vec_pnt.y; if(vec_pnt.z < vec_min.z) vec_min.z = vec_pnt.z; @@ -92,9 +95,22 @@ } var vec_ctr = (vec_min + vec_max) / 2; - var vec_siz = abs(vec_min) + abs(vec_max); + var vec_siz = vec_max - vec_min; - println(op->GetName(), "::", vec_min, "//", vec_max, "//", vec_ctr, "//", vec_siz); + var mtx = new(Matrix); + mtx->SetV0(vec_ctr); + mtx->SetV1(vec_siz); + mtx->SetV2(vec_min); + mtx->SetV3(vec_max); + + println("OBJECT BOUNDS [", op->GetName(), "] :: "); + println("-- Center (V0): ", vec_ctr); + println("-- Size (V1): ", vec_siz); + println("-- Minimum (V2): ", vec_min); + println("-- Maximum (V2): ", vec_max); + + return mtx; + } //// GetSceneBounds /////////////////////////////////////////////////// @@ -105,13 +121,20 @@ PXCDDTurntablePlugin::GetSceneBounds(doc) { + var mtx_objBound; + var vec_min; + var vec_max; + var vec_obj_min; + var vec_obj_max; + // Start Undo Step so we can undo all the MakeEditables doc->StartUndo(); var op = doc->GetFirstObject(); while(op) { - println(op->GetName()); - println(getclass(op)); + + mtx_objBound = NULL; + switch( getclass(op) ) { case LightObject: @@ -127,28 +150,64 @@ case PointObject: case PolygonObject: // Get the Object Extents - println("Point"); - GetObjectBounds(op); + mtx_objBound = GetObjectBounds(op); break; default: // Make the object editable + println("Making ", op->GetName(), " editable"); if(MakeEditable(doc, op)) { + if(op) println("Now referencing ", op->GetName()); op = GetActiveObject(doc); + if(op) println("Got Reference ", op->GetName()); }; + if(instanceof(op, PointObject)) { - GetObjectBounds(op); - } - + mtx_objBound = GetObjectBounds(op); + } } + if(op) println("has Reference ", op->GetName()); + + if(mtx_objBound) { + + if(!vec_min) vec_min = mtx_objBound->GetV2(); + if(!vec_max) vec_max = mtx_objBound->GetV3(); + vec_obj_min = mtx_objBound->GetV2(); + vec_obj_max = mtx_objBound->GetV3(); + + if(vec_obj_min.x < vec_min.x) vec_min.x = vec_obj_min.x; + if(vec_obj_min.y < vec_min.y) vec_min.y = vec_obj_min.y; + if(vec_obj_min.z < vec_min.z) vec_min.z = vec_obj_min.z; + if(vec_obj_max.x > vec_max.x) vec_max.x = vec_obj_max.x; + if(vec_obj_max.y > vec_max.y) vec_max.y = vec_obj_max.y; + if(vec_obj_max.z > vec_max.z) vec_max.z = vec_obj_max.z; + + } + op = GetNextHierarchyObject(op, NULL); } // End the Undo Step, and undo the MakeEditables doc->EndUndo(); - //doc->DoUndo(); + doc->DoUndo(); + + var vec_ctr = (vec_min + vec_max) / 2; + var vec_siz = vec_max - vec_min; + println("SCENE BOUNDS :: "); + println("-- Center (V0): ", vec_ctr); + println("-- Size (V1): ", vec_siz); + println("-- Minimum (V2): ", vec_min); + println("-- Maximum (V2): ", vec_max); + + var mtx = new(Matrix); + mtx->SetV0(vec_ctr); + mtx->SetV1(vec_siz); + mtx->SetV2(vec_min); + mtx->SetV3(vec_max); + + return mtx; } //// Execute /////////////////////////////////////////////////////////// @@ -180,9 +239,9 @@ } */ - println("Here"); + GetSceneBounds(doc); - println("there"); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 04:51:52
|
Revision: 406 Author: ricknroll Date: 2006-07-19 21:51:49 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=406&view=rev Log Message: ----------- creating objects for turntable animation Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:13:11 UTC (rev 405) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:51:49 UTC (rev 406) @@ -240,8 +240,31 @@ } */ - GetSceneBounds(doc); - + var mtx_sceneBounds = GetSceneBounds(doc); + + var grp = AllocObject(Onull); + grp->SetName("Turntable"); + grp->SetPosition(mtx_sceneBounds->GetV0()); + doc->InsertObject(grp, NULL, NULL); + + var cam = AllocObject(Ocamera); + cam->SetName("Turntable_Camera"); + doc->InsertObject(cam, grp, NULL); + + var spl = AllocObject(Osplinecircle); + var spl_bc = spl->GetContainer(); + //spl_bc->SetData(PRIM_CIRCLE_RADIUS,); + spl_bc->SetData(PRIM_PLANE, 2); + spl->SetContainer(spl_bc); + spl->SetName("Turntable_Spline"); + spl->SetPosition(mtx_sceneBounds->GetV0()); + doc->InsertObject(spl, grp, cam); + + var tgt = AllocObject(Onull); + tgt->SetName("Turntable_Target"); + tgt->SetPosition(mtx_sceneBounds->GetV0()); + doc->InsertObject(tgt, grp, spl); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 06:16:16
|
Revision: 414 Author: ricknroll Date: 2006-07-19 23:16:13 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=414&view=rev Log Message: ----------- getting largest scene extent Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:14:27 UTC (rev 413) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:16:13 UTC (rev 414) @@ -240,7 +240,15 @@ } */ - var mtx_sceneBounds = GetSceneBounds(doc); + var mtx_sceneBounds = GetSceneBounds(doc); + + var scn_rad; + var vec_scn_siz = mtx_sceneBounds->GetV1(); + if(vec_scn_siz.x > vec_scn_siz.z) { + scn_rad = vec_scn_siz.x / 2; + } else { + scn_rad = vec_scn_siz.z / 2; + } var grp = AllocObject(Onull); grp->SetName("Turntable"); @@ -253,7 +261,7 @@ var spl = AllocObject(Osplinecircle); var spl_bc = spl->GetContainer(); - //spl_bc->SetData(PRIM_CIRCLE_RADIUS,); + // spl_bc->SetData(PRIM_CIRCLE_RADIUS, scn_rad); spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); @@ -265,6 +273,7 @@ tgt->SetPosition(mtx_sceneBounds->GetV0()); doc->InsertObject(tgt, grp, spl); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 06:17:27
|
Revision: 415 Author: ricknroll Date: 2006-07-19 23:17:24 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=415&view=rev Log Message: ----------- don't set position of target and circle spline - these should default to the local origin of the group Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:16:13 UTC (rev 414) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:17:24 UTC (rev 415) @@ -265,12 +265,10 @@ spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); - spl->SetPosition(mtx_sceneBounds->GetV0()); doc->InsertObject(spl, grp, cam); var tgt = AllocObject(Onull); tgt->SetName("Turntable_Target"); - tgt->SetPosition(mtx_sceneBounds->GetV0()); doc->InsertObject(tgt, grp, spl); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 06:18:29
|
Revision: 416 Author: ricknroll Date: 2006-07-19 23:18:26 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=416&view=rev Log Message: ----------- skipping Null Objects from extents calculation Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:17:24 UTC (rev 415) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:18:26 UTC (rev 416) @@ -137,6 +137,7 @@ switch( getclass(op) ) { + case NullObject: case LightObject: case CameraObject: case FloorObject: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-24 01:34:59
|
Revision: 429 Author: ricknroll Date: 2006-07-23 18:34:52 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=429&view=rev Log Message: ----------- adding target and align to spline tags Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-23 23:04:00 UTC (rev 428) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 01:34:52 UTC (rev 429) @@ -272,7 +272,19 @@ tgt->SetName("Turntable_Target"); doc->InsertObject(tgt, grp, spl); + // Align Tag + var ats = AllocTag(Taligntospline); + var ats_bc = ats->GetContainer(); + ats_bc->SetData(ALIGNTOSPLINETAG_LINK, spl); + ats->SetContainer(ats_bc); + cam->InsertTag(ats, NULL); + // Target Tag + var ttg = AllocTag(Ttargetexpression); + var ttg_bc = ttg->GetContainer(); + ttg_bc->SetData(ALIGNTOSPLINETAG_LINK, tgt); + ttg->SetContainer(ttg_bc); + cam->InsertTag(ttg, NULL); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-24 02:45:29
|
Revision: 430 Author: ricknroll Date: 2006-07-23 19:45:20 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=430&view=rev Log Message: ----------- added coffee expression tag to animate camera position along spline Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 01:34:52 UTC (rev 429) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 02:45:20 UTC (rev 430) @@ -262,7 +262,7 @@ var spl = AllocObject(Osplinecircle); var spl_bc = spl->GetContainer(); - // spl_bc->SetData(PRIM_CIRCLE_RADIUS, scn_rad); + spl_bc->SetData(PRIM_CIRCLE_RADIUS, 2 * scn_rad); spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); @@ -285,6 +285,25 @@ ttg_bc->SetData(ALIGNTOSPLINETAG_LINK, tgt); ttg->SetContainer(ttg_bc); cam->InsertTag(ttg, NULL); + + // Expression Tag + var cof = AllocTag(Tcoffeeexpression); + var cof_bc = cof->GetContainer(); + var cof_str = stradd("main(doc, op) {","\n", + " var cam = doc->FindObject(\"Turntable_Camera\");", "\n", + " var tag = cam->GetFirstTag()\;", "\n", + " while(tag) {", "\n", + " if(strmid(tag#ID_BASELIST_NAME,0,5)==\"Align\") {", "\n", + " tag#ALIGNTOSPLINETAG_POSITION = ", + "doc->GetTime()->GetFrame(doc->GetFps()) / ", + "doc->GetMaxTime()->GetFrame(doc->GetFps());", + " }", "\n", + " tag = tag->GetNext();", "\n", + " }", "\n", + "}"); + cof_bc->SetData(1000, cof_str); + cof->SetContainer(cof_bc); + cam->InsertTag(cof, NULL); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-24 02:49:11
|
Revision: 431 Author: ricknroll Date: 2006-07-23 19:49:06 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=431&view=rev Log Message: ----------- fix for field-of-view to take z-depth into consideration Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 02:45:20 UTC (rev 430) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 02:49:06 UTC (rev 431) @@ -250,6 +250,7 @@ } else { scn_rad = vec_scn_siz.z / 2; } + var cam_dist = scn_rad * 2 + vec_scn_siz.z / 2; var grp = AllocObject(Onull); grp->SetName("Turntable"); @@ -262,7 +263,7 @@ var spl = AllocObject(Osplinecircle); var spl_bc = spl->GetContainer(); - spl_bc->SetData(PRIM_CIRCLE_RADIUS, 2 * scn_rad); + spl_bc->SetData(PRIM_CIRCLE_RADIUS, cam_dist); spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |