text: /*
   *
   *  Copyright (C) 2000 Silicon Graphics, Inc.  All Rights Reserved. 
   *
   *  This library is free software; you can redistribute it and/or
   *  modify it under the terms of the GNU Lesser General Public
   *  License as published by the Free Software Foundation; either
   *  version 2.1 of the License, or (at your option) any later version.
   *
   *  This library 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
   *  Lesser General Public License for more details.
   *
   *  Further, this software is distributed without any warranty that it is
   *  free of the rightful claim of any third person regarding infringement
   *  or the like.  Any license provided herein, whether implied or
   *  otherwise, applies only to this software file.  Patent licenses, if
   *  any, provided herein do not apply to combinations of this program with
   *  other software, or any other product whatsoever.
   * 
   *  You should have received a copy of the GNU Lesser General Public
   *  License along with this library; if not, write to the Free Software
   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   *
   *  Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
   *  Mountain View, CA  94043, or:
   * 
   *  http://www.sgi.com 
   * 
   *  For further information regarding this notice, see: 
   * 
   *  http://oss.sgi.com/projects/GenInfo/NoticeExplan/
   *
   */
  
  /*
   * Copyright (C) 1990,91   Silicon Graphics, Inc.
   *
   _______________________________________________________________________
   ______________  S I L I C O N   G R A P H I C S   I N C .  ____________
   |
   |   $Revision $
   |
   |   Classes:
   |      SoProfileCoordinate2
   |
   |   Author(s)          : Dave Immel
   |
   ______________  S I L I C O N   G R A P H I C S   I N C .  ____________
   _______________________________________________________________________
   */
  
  #include <Inventor/actions/SoCallbackAction.h>
  #include <Inventor/actions/SoGLRenderAction.h>
  #include <Inventor/actions/SoPickAction.h>
  #include <Inventor/actions/SoGetBoundingBoxAction.h>
  #include <Inventor/elements/SoProfileCoordinateElement.h>
  #include <Inventor/nodes/SoProfileCoordinate2.h>
  
  SO_NODE_SOURCE(SoProfileCoordinate2);
  
  ////////////////////////////////////////////////////////////////////////
  //
  // Description:
  //    Constructor
  //
  // Use: public
  
  SoProfileCoordinate2::SoProfileCoordinate2()
  //
  ////////////////////////////////////////////////////////////////////////
  {
      SO_NODE_CONSTRUCTOR(SoProfileCoordinate2);
      SO_NODE_ADD_FIELD(point, (SoProfileCoordinateElement::getDefault2()));
      isBuiltIn = TRUE;
  }
  
  ////////////////////////////////////////////////////////////////////////
  //
  // Description:
  //    Destructor
  //
  // Use: private
  
  SoProfileCoordinate2::~SoProfileCoordinate2()
  //
  ////////////////////////////////////////////////////////////////////////
  {
  }
  
  ////////////////////////////////////////////////////////////////////////
  //
  // Description:
  //    Handles most actions.
  //
  // Use: extender
  
  void
  SoProfileCoordinate2::doAction(SoAction *action)
  //
  ////////////////////////////////////////////////////////////////////////
  {
      if (! point.isIgnored() && point.getNum() > 0)
  	SoProfileCoordinateElement::set2(action->getState(), this,
  					 point.getNum(), point.getValues(0));
  }
  
  ////////////////////////////////////////////////////////////////////////
  //
  // Description:
  //    Does GL render action.
  //
  // Use: extender
  
  void
  SoProfileCoordinate2::GLRender(SoGLRenderAction *action)
  //
  ////////////////////////////////////////////////////////////////////////
  {
      SoProfileCoordinate2::doAction(action);
  }
  
  ////////////////////////////////////////////////////////////////////////
  //
  // Description:
  //    Does callback action thing.
  //
  // Use: extender
  
  void
  SoProfileCoordinate2::callback(SoCallbackAction *action)
  //
  ////////////////////////////////////////////////////////////////////////
  {
      SoProfileCoordinate2::doAction(action);
  }
  
  ////////////////////////////////////////////////////////////////////////
  //
  // Description:
  //    Does pick action...
  //
  // Use: extender
  
  void
  SoProfileCoordinate2::pick(SoPickAction *action)
  //
  ////////////////////////////////////////////////////////////////////////
  {
      SoProfileCoordinate2::doAction(action);
  }
  
  ////////////////////////////////////////////////////////////////////////
  //
  // Description:
  //    Does get bounding box action...
  //
  // Use: extender
  
  void
  SoProfileCoordinate2::getBoundingBox(SoGetBoundingBoxAction *action)
  //
  ////////////////////////////////////////////////////////////////////////
  {
      SoProfileCoordinate2::doAction(action);
  }
  