// NOTE: These are duplicates of existing scripts. Please do not copy these // scripts into your PROGRAM FILES\SCENOMICS\SCRIPTS folder. You can find the // actual source code in CREATE_SCRIPTS.SSL and CAMERA_SCRIPTS.SSL. /*----------------------------------------------------------------------------*/ /* Scenome 1.0 Camera Scripts */ /* */ /* Copyright (c) 2007 Scenomics. All Rights Reserved. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* AddNode Function */ /*----------------------------------------------------------------------------*/ function int AddNode( Node new_node, Group parentNode ) { Model.AddNode( new_node, parentNode, -1 ); Model.Deselect( parentNode ); return 1; } /*----------------------------------------------------------------------------*/ /* CreateCameraNode */ /*----------------------------------------------------------------------------*/ macro CreateCameraNode() [Category="Create Commands", Guid="{5BBF19F9-793F-47C8-BB34-8199507F3855}", Image=".\\icons\\create_camera_node.bmp"] { for( int i = 0; i < Model.GetSelectCount(); ++i ) { Node selNode = Model.GetSelectedNode( i ).GetNode(); if( selNode.IsDerived( Group ) ) { ModelView a_oView = Model.ActiveView; Camera newCamera = new Camera; newCamera.Name = "Camera.New"; Matrix editCameraPosition = new Matrix; editCameraPosition.Position[0] = a_oView.Position.X; editCameraPosition.Position[1] = a_oView.Position.Y; editCameraPosition.Position[2] = a_oView.Position.Z; editCameraPosition.Orientation[0] = a_oView.Orientation.X; editCameraPosition.Orientation[1] = a_oView.Orientation.Y; editCameraPosition.Orientation[2] = a_oView.Orientation.Z; newCamera.SetTransform ( editCameraPosition ); AddNode( newCamera, (Group)selNode ); } } } /*----------------------------------------------------------------------------*/ /* ScriptRestoreViewFromCamera */ /*----------------------------------------------------------------------------*/ macro ScriptRestoreViewFromCamera() [Category="Camera Commands", Guid="{259D9801-701A-473D-9A1B-47A58AB5F74B}", Image=".\\icons\\generic_script_icon.bmp"] { for( int i = 0; i < Model.GetSelectCount(); ++i ) { Node node = Model.GetSelectedNode( i ).GetNode(); if( node.IsDerived( Camera ) ) { Camera editCamera = (Camera)Model.EditNode( node ); Matrix editCameraPosition = editCamera.GetTransform(); ModelView a_oView = Model.ActiveView; a_oView.Position.X = editCameraPosition.Position[0]; a_oView.Position.Y = editCameraPosition.Position[1]; a_oView.Position.Z = editCameraPosition.Position[2]; a_oView.Orientation.X = editCameraPosition.Orientation[0]; a_oView.Orientation.Y = editCameraPosition.Orientation[1]; a_oView.Orientation.Z = editCameraPosition.Orientation[2]; } } } /*----------------------------------------------------------------------------*/ /* ScriptStoreViewInCamera */ /*----------------------------------------------------------------------------*/ macro ScriptStoreViewInCamera() [Category="Camera Commands", Guid="{8A8D48CB-4D32-4BB4-8150-62B580622FEB}", Image=".\\icons\\generic_script_icon.bmp"] { for( int i = 0; i < Model.GetSelectCount(); ++i ) { Node node = Model.GetSelectedNode( i ).GetNode(); if( node.IsDerived( Camera ) ) { Camera editCamera = (Camera)Model.EditNode( node ); ModelView a_oView = Model.ActiveView; Matrix editCameraPosition = new Matrix; editCameraPosition.Position[0] = a_oView.Position.X; editCameraPosition.Position[1] = a_oView.Position.Y; editCameraPosition.Position[2] = a_oView.Position.Z; editCameraPosition.Orientation[0] = a_oView.Orientation.X; editCameraPosition.Orientation[1] = a_oView.Orientation.Y; editCameraPosition.Orientation[2] = a_oView.Orientation.Z; editCamera.SetTransform ( editCameraPosition ); } } }