;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; LUSH Lisp Universal Shell
;;;   Copyright (C) 2002 Leon Bottou, Yann Le Cun, AT&T Corp, NECI.
;;; Includes parts of TL3:
;;;   Copyright (C) 1987-1999 Leon Bottou and Neuristique.
;;; Includes selected parts of SN3.2:
;;;   Copyright (C) 1991-2001 AT&T Corp.
;;;
;;; Includes information derived from the GSL (Gnu Scientific Library)
;;;   header files which are copyrighted and distributed under the GPL
;;;   by their respective authors.
;;;
;;; This program is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 2 of the License, or
;;; (at your option) any later version.
;;;
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program; if not, write to the Free Software
;;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(libload "inventor/inventor-config")



#? *** draggers

;; dummy function that adds inventor header files in C file
(eval `(de |dummy_draggers| () ,inventor-cpheader-cmd ()))

#? * sodragger
;;.TYPE CLASS
#? (==> <sodragger> getsf-isactive)
#? (==> <sodragger> addstartcallback <f> <userdata>)
#? (==> <sodragger> removestartcallback <f> <userdata>)
#? (==> <sodragger> addmotioncallback <f> <userdata>)
#? (==> <sodragger> removemotioncallback <f> <userdata>)
#? (==> <sodragger> addfinishcallback <f> <userdata>)
#? (==> <sodragger> removefinishcallback <f> <userdata>)
#? (==> <sodragger> addvaluechangedcallback <f> <userdata>)
#? (==> <sodragger> removevaluechangedcallback <f> <userdata>)
#? (==> <sodragger> setmingesture <pixels>)
#? (==> <sodragger> getmingesture)
#? (==> <sodragger> enablevaluechangedcallbacks <newval>)

#? * sodragpointdragger
;;.TYPE CLASS
#? (new sodragpointdragger <flag>>
#? (==> <sodragpointdragger> getsf-translation)
#? (==> <sodragpointdragger> setjumplimit <limit>)
#? (==> <sodragpointdragger> getjumplimit)
#? (==> <sodragpointdragger> shownextdraggerset)

#? * socenterballdragger
;;.TYPE CLASS
#? (new socenterballdragger <flag>>
#? (==> <socenterballdragger> getsf-rotation)
#? (==> <socenterballdragger> getsf-center)

#? * sodirectionallightdragger
;;.TYPE CLASS
#? (new sodirectionallightdragger <flag>>
#? (==> <sodirectionallightdragger> getsf-rotation)
#? (==> <sodirectionallightdragger> getsf-translation)

#? * sohandleboxdragger
;;.TYPE CLASS
#? (new sohandleboxdragger <flag>>
#? (==> <sohandleboxdragger> getsf-translation)
#? (==> <sohandleboxdragger> getsf-scalefactor)

#? * sojackdragger
;;.TYPE CLASS
#? (new sojackdragger <flag>>
#? (==> <sojackdragger> getsf-rotation)
#? (==> <sojackdragger> getsf-translation)
#? (==> <sojackdragger> getsf-scalefactor)

#? * sopointlightdragger
;;.TYPE CLASS
#? (new sopointlightdragger <flag>>
#? (==> <sopointlightdragger> getsf-translation)

#? * sorotatecylindricaldragger
;;.TYPE CLASS
#? (new sorotatecylindricaldragger <flag>>
#? (==> <sorotatecylindricaldragger> getsf-rotation)
#? (==> <sorotatecylindricaldragger> setprojector <p>)
#? (==> <sorotatecylindricaldragger> getprojector)

#? * sorotatediscdragger
;;.TYPE CLASS
#? (new sorotatediscdragger <flag>>
#? (==> <sorotatediscdragger> getsf-rotation)

#? * sorotatesphericaldragger
;;.TYPE CLASS
#? (new sorotatesphericaldragger <flag>>
#? (==> <sorotatesphericaldragger> getsf-rotation)
#? (==> <sorotatesphericaldragger> setprojector <p>)
#? (==> <sorotatesphericaldragger> getprojector)

#? * soscale1dragger
;;.TYPE CLASS
#? (new soscale1dragger <flag>>
#? (==> <soscale1dragger> getsf-scalefactor)

#? * soscale2dragger
;;.TYPE CLASS
#? (new soscale2dragger <flag>>
#? (==> <soscale2dragger> getsf-scalefactor)

#? * soscale2uniformdragger
;;.TYPE CLASS
#? (new soscale2uniformdragger <flag>>
#? (==> <soscale2uniformdragger> getsf-scalefactor)

#? * soscaleuniformdragger
;;.TYPE CLASS
#? (new soscaleuniformdragger <flag>>
#? (==> <soscaleuniformdragger> getsf-scalefactor)

#? * sospotlightdragger
;;.TYPE CLASS
#? (new sospotlightdragger <flag>>
#? (==> <sospotlightdragger> getsf-rotation)
#? (==> <sospotlightdragger> getsf-translation)
#? (==> <sospotlightdragger> getsf-angle)

#? * sotabboxdragger
;;.TYPE CLASS
#? (new sotabboxdragger <flag>>
#? (==> <sotabboxdragger> getsf-translation)
#? (==> <sotabboxdragger> getsf-scalefactor)
#? (==> <sotabboxdragger> adjustscaletabsize)

#? * sotabplanedragger
;;.TYPE CLASS
#? (new sotabplanedragger <flag>>
#? (==> <sotabplanedragger> getsf-translation)
#? (==> <sotabplanedragger> getsf-scalefactor)
#? (==> <sotabplanedragger> adjustscaletabsize)

#? * sotrackballdragger
;;.TYPE CLASS
#? (new sotrackballdragger <flag>>
#? (==> <sotrackballdragger> getsf-rotation)
#? (==> <sotrackballdragger> getsf-scalefactor)
#? (==> <sotrackballdragger> isanimationenabled)
#? (==> <sotrackballdragger> setanimationenabled <newval>)

#? * sotransformboxdragger
;;.TYPE CLASS
#? (new sotransformboxdragger <flag>>
#? (==> <sotransformboxdragger> getsf-rotation)
#? (==> <sotransformboxdragger> getsf-translation)
#? (==> <sotransformboxdragger> getsf-scalefactor)

#? * sotransformerdragger
;;.TYPE CLASS
#? (new sotransformerdragger <flag>>
#? (==> <sotransformerdragger> getsf-rotation)
#? (==> <sotransformerdragger> getsf-translation)
#? (==> <sotransformerdragger> getsf-scalefactor)
#? (==> <sotransformerdragger> getsf-mindiscrotdot)
#? (==> <sotransformerdragger> unsquishknobs)
#? (==> <sotransformerdragger> islocatehighlighting)
#? (==> <sotransformerdragger> setlocatehighlighting <onoff>)

#? * sotranslate1dragger
;;.TYPE CLASS
#? (new sotranslate1dragger <flag>>
#? (==> <sotranslate1dragger> getsf-translation)

#? * sotranslate2dragger
;;.TYPE CLASS
#? (new sotranslate2dragger <flag>>
#? (==> <sotranslate2dragger> getsf-translation)

#? * (|dummy_draggers|)

;; ********************************************************


;;*****************************************************************
;;***********   draggers
;;*****************************************************************
(libload "inventor/nodekits")

;; class SoDragger : public SoInteractionKit
(defclass SoDragger SoInteractionKit)

(defmethod SoDragger  getsf_isActive (  )
  
  (let* ((retobj (new SoSFBool t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoDragger *)$p)->isActive);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoDragger  addStartCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->addStartCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  removeStartCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->removeStartCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  addMotionCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->addMotionCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  removeMotionCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->removeMotionCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  addFinishCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->addFinishCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  removeFinishCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->removeFinishCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  addValueChangedCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->addValueChangedCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  removeValueChangedCallback ( f userData)
  
  ((-gptr- "SoDraggerCB *") f)
  ((-gptr-) userData)
  #{ ((SoDragger *)$p)->removeValueChangedCallback($f,$userData);  #} 
  ())

(defmethod SoDragger  setMinGesture ( pixels)
  
  ((-int-) pixels)
  #{ ((SoDragger *)$p)->setMinGesture($pixels);  #} 
  ())

(defmethod SoDragger  getMinGesture (  )
  
  (int #{ ((SoDragger *)$p)->getMinGesture()  #} ))

(defmethod SoDragger  enableValueChangedCallbacks ( newVal)
  
  ((-int-) newVal)                    ;; SbBool -> int
  (int #{ ((SoDragger *)$p)->enableValueChangedCallbacks($newVal)  #} ))




;; class SoDragPointDragger : public SoDragger
(defclass SoDragPointDragger SoDragger)

(defmethod SoDragPointDragger  SoDragPointDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoDragPointDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoDragPointDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoDragPointDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoDragPointDragger  setJumpLimit ( limit)
  
  ((-float-) limit)
  #{ ((SoDragPointDragger *)$p)->setJumpLimit($limit);  #} 
  ())

(defmethod SoDragPointDragger  getJumpLimit (  )
  
  (float #{ ((SoDragPointDragger *)$p)->getJumpLimit()  #} ))

(defmethod SoDragPointDragger  showNextDraggerSet (  )
  
  #{ ((SoDragPointDragger *)$p)->showNextDraggerSet();  #} 
  ())





;; class SoCenterballDragger : public SoDragger
(defclass SoCenterballDragger SoDragger)

(defmethod SoCenterballDragger  SoCenterballDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoCenterballDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoCenterballDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoCenterballDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoCenterballDragger  getsf_center (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoCenterballDragger *)$p)->center);  #} 
    (setq :retobj:p retobjp)
    retobj))



;; class SoDirectionalLightDragger : public SoDragger
(defclass SoDirectionalLightDragger SoDragger)

(defmethod SoDirectionalLightDragger  SoDirectionalLightDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoDirectionalLightDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoDirectionalLightDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoDirectionalLightDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoDirectionalLightDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoDirectionalLightDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))




;; class SoHandleBoxDragger : public SoDragger
(defclass SoHandleBoxDragger SoDragger)

(defmethod SoHandleBoxDragger  SoHandleBoxDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoHandleBoxDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoHandleBoxDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoHandleBoxDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoHandleBoxDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoHandleBoxDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))



;; class SoJackDragger : public SoDragger
(defclass SoJackDragger SoDragger)

(defmethod SoJackDragger  SoJackDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoJackDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoJackDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoJackDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoJackDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoJackDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoJackDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoJackDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))


;; class SoPointLightDragger : public SoDragger
(defclass SoPointLightDragger SoDragger)

(defmethod SoPointLightDragger  SoPointLightDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoPointLightDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoPointLightDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoPointLightDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))





;; class SoRotateCylindricalDragger : public SoDragger
(defclass SoRotateCylindricalDragger SoDragger)

(defmethod SoRotateCylindricalDragger  SoRotateCylindricalDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoRotateCylindricalDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoRotateCylindricalDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoRotateCylindricalDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoRotateCylindricalDragger  setProjector ( p)
  
  ((-gptr- "SbCylinderProjector *") p)
  #{ ((SoRotateCylindricalDragger *)$p)->setProjector($p);  #} 
  ())

(defmethod SoRotateCylindricalDragger  getProjector (  )
  
  (gptr #{ ((SoRotateCylindricalDragger *)$p)->getProjector()  #} ))    ;; const SbCylinderProjector *  -> gptr






;; class SoRotateDiscDragger : public SoDragger
(defclass SoRotateDiscDragger SoDragger)

(defmethod SoRotateDiscDragger  SoRotateDiscDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoRotateDiscDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoRotateDiscDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoRotateDiscDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))





;; class SoRotateSphericalDragger : public SoDragger
(defclass SoRotateSphericalDragger SoDragger)

(defmethod SoRotateSphericalDragger  SoRotateSphericalDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoRotateSphericalDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoRotateSphericalDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoRotateSphericalDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoRotateSphericalDragger  setProjector ( p)
  
  ((-gptr- "SbSphereProjector *") p)
  #{ ((SoRotateSphericalDragger *)$p)->setProjector($p);  #} 
  ())

(defmethod SoRotateSphericalDragger  getProjector (  )
  
  (gptr #{ ((SoRotateSphericalDragger *)$p)->getProjector()  #} ))    ;; const SbSphereProjector *  -> gptr




;; class SoScale1Dragger : public SoDragger
(defclass SoScale1Dragger SoDragger)

(defmethod SoScale1Dragger  SoScale1Dragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoScale1Dragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoScale1Dragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoScale1Dragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))




;; class SoScale2Dragger : public SoDragger
(defclass SoScale2Dragger SoDragger)

(defmethod SoScale2Dragger  SoScale2Dragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoScale2Dragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoScale2Dragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoScale2Dragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))





;; class SoScale2UniformDragger : public SoDragger
(defclass SoScale2UniformDragger SoDragger)

(defmethod SoScale2UniformDragger  SoScale2UniformDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoScale2UniformDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoScale2UniformDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoScale2UniformDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))




;; class SoScaleUniformDragger : public SoDragger
(defclass SoScaleUniformDragger SoDragger)

(defmethod SoScaleUniformDragger  SoScaleUniformDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoScaleUniformDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoScaleUniformDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoScaleUniformDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))



;; class SoSpotLightDragger : public SoDragger
(defclass SoSpotLightDragger SoDragger)

(defmethod SoSpotLightDragger  SoSpotLightDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoSpotLightDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoSpotLightDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoSpotLightDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoSpotLightDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoSpotLightDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoSpotLightDragger  getsf_angle (  )
  
  (let* ((retobj (new SoSFFloat t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoSpotLightDragger *)$p)->angle);  #} 
    (setq :retobj:p retobjp)
    retobj))



;; class SoTabBoxDragger : public SoDragger
(defclass SoTabBoxDragger SoDragger)

(defmethod SoTabBoxDragger  SoTabBoxDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoTabBoxDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoTabBoxDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTabBoxDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTabBoxDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTabBoxDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTabBoxDragger  adjustScaleTabSize (  )
  
  #{ ((SoTabBoxDragger *)$p)->adjustScaleTabSize();  #} 
  ())




;; class SoTabPlaneDragger : public SoDragger
(defclass SoTabPlaneDragger SoDragger)

(defmethod SoTabPlaneDragger  SoTabPlaneDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoTabPlaneDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoTabPlaneDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTabPlaneDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTabPlaneDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTabPlaneDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTabPlaneDragger  adjustScaleTabSize (  )
  
  #{ ((SoTabPlaneDragger *)$p)->adjustScaleTabSize();  #} 
  ())




;; class SoTrackballDragger : public SoDragger
(defclass SoTrackballDragger SoDragger)

(defmethod SoTrackballDragger  SoTrackballDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoTrackballDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoTrackballDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTrackballDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTrackballDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTrackballDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTrackballDragger  isAnimationEnabled (  )
  
  (int #{ ((SoTrackballDragger *)$p)->isAnimationEnabled()  #} ))

(defmethod SoTrackballDragger  setAnimationEnabled ( newVal)
  
  ((-int-) newVal)                    ;; SbBool -> int
  #{ ((SoTrackballDragger *)$p)->setAnimationEnabled($newVal);  #} 
  ())


;; class SoTransformBoxDragger : public SoDragger
(defclass SoTransformBoxDragger SoDragger)

(defmethod SoTransformBoxDragger  SoTransformBoxDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoTransformBoxDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoTransformBoxDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTransformBoxDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTransformBoxDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTransformBoxDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTransformBoxDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTransformBoxDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))






;; class SoTransformerDragger : public SoDragger
(defclass SoTransformerDragger SoDragger)

(defmethod SoTransformerDragger  SoTransformerDragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoTransformerDragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoTransformerDragger  getsf_rotation (  )
  
  (let* ((retobj (new SoSFRotation t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTransformerDragger *)$p)->rotation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTransformerDragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTransformerDragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTransformerDragger  getsf_scaleFactor (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTransformerDragger *)$p)->scaleFactor);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTransformerDragger  getsf_minDiscRotDot (  )
  
  (let* ((retobj (new SoSFFloat t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTransformerDragger *)$p)->minDiscRotDot);  #} 
    (setq :retobj:p retobjp)
    retobj))

(defmethod SoTransformerDragger  unsquishKnobs (  )
  
  #{ ((SoTransformerDragger *)$p)->unsquishKnobs();  #} 
  ())

(defmethod SoTransformerDragger  isLocateHighlighting (  )
  
  (int #{ ((SoTransformerDragger *)$p)->isLocateHighlighting()  #} ))

(defmethod SoTransformerDragger  setLocateHighlighting ( onOff)
  
  ((-int-) onOff)                    ;; SbBool -> int
  #{ ((SoTransformerDragger *)$p)->setLocateHighlighting($onOff);  #} 
  ())




;; class SoTranslate1Dragger : public SoDragger
(defclass SoTranslate1Dragger SoDragger)

(defmethod SoTranslate1Dragger  SoTranslate1Dragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoTranslate1Dragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoTranslate1Dragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTranslate1Dragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))





;; class SoTranslate2Dragger : public SoDragger
(defclass SoTranslate2Dragger SoDragger)

(defmethod SoTranslate2Dragger  SoTranslate2Dragger ( flag  )
  ((-bool-) flag)
  
  #{  if($flag == false ) {
            $p = new  SoTranslate2Dragger;
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())

(defmethod SoTranslate2Dragger  getsf_translation (  )
  
  (let* ((retobj (new SoSFVec3f t))
	 (retobjp :retobj:p))
    #{ $retobjp = &(((SoTranslate2Dragger *)$p)->translation);  #} 
    (setq :retobj:p retobjp)
    retobj))



;; ********************************************************

(dhc-make-with-c++ () () 
  |dummy_draggers|
  (sodragger  enablevaluechangedcallbacks  getmingesture  setmingesture  removevaluechangedcallback  addvaluechangedcallback  removefinishcallback  addfinishcallback  removemotioncallback  addmotioncallback  removestartcallback  addstartcallback  getsf-isactive)
  (sodragpointdragger  shownextdraggerset  getjumplimit  setjumplimit  getsf-translation  sodragpointdragger)
  (socenterballdragger  getsf-center  getsf-rotation  socenterballdragger)
  (sodirectionallightdragger  getsf-translation  getsf-rotation  sodirectionallightdragger)
  (sohandleboxdragger  getsf-scalefactor  getsf-translation  sohandleboxdragger)
  (sojackdragger  getsf-scalefactor  getsf-translation  getsf-rotation  sojackdragger)
  (sopointlightdragger  getsf-translation  sopointlightdragger)
  (sorotatecylindricaldragger  getprojector  setprojector  getsf-rotation  sorotatecylindricaldragger)
  (sorotatediscdragger  getsf-rotation  sorotatediscdragger)
  (sorotatesphericaldragger  getprojector  setprojector  getsf-rotation  sorotatesphericaldragger)
  (soscale1dragger  getsf-scalefactor  soscale1dragger)
  (soscale2dragger  getsf-scalefactor  soscale2dragger)
  (soscale2uniformdragger  getsf-scalefactor  soscale2uniformdragger)
  (soscaleuniformdragger  getsf-scalefactor  soscaleuniformdragger)
  (sospotlightdragger  getsf-angle  getsf-translation  getsf-rotation  sospotlightdragger)
  (sotabboxdragger  adjustscaletabsize  getsf-scalefactor  getsf-translation  sotabboxdragger)
  (sotabplanedragger  adjustscaletabsize  getsf-scalefactor  getsf-translation  sotabplanedragger)
  (sotrackballdragger  setanimationenabled  isanimationenabled  getsf-scalefactor  getsf-rotation  sotrackballdragger)
  (sotransformboxdragger  getsf-scalefactor  getsf-translation  getsf-rotation  sotransformboxdragger)
  (sotransformerdragger  setlocatehighlighting  islocatehighlighting  unsquishknobs  getsf-mindiscrotdot  getsf-scalefactor  getsf-translation  getsf-rotation  sotransformerdragger)
  (sotranslate1dragger  getsf-translation  sotranslate1dragger)
  (sotranslate2dragger  getsf-translation  sotranslate2dragger)
)
