Panda3D

isoPlacer.h

00001 // Filename: isoPlacer.h
00002 // Created by:  drose (13Oct03)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 #ifndef ISOPLACER_H
00016 #define ISOPLACER_H
00017 
00018 #include "pandatoolbase.h"
00019 #include "pvector.h"
00020 #include "vector_double.h"
00021 
00022 class NurbsSurfaceResult;
00023 
00024 ////////////////////////////////////////////////////////////////////
00025 //       Class : IsoPlacer
00026 // Description : Contains the logic used to place isoparams where
00027 //               they'll do the most good on a surface.
00028 ////////////////////////////////////////////////////////////////////
00029 class IsoPlacer {
00030 public:
00031   INLINE IsoPlacer();
00032 
00033   void get_scores(int subdiv, int across, double ratio,
00034                   NurbsSurfaceResult *surf, bool s);
00035   void place(int count, pvector<double> &iso_points);
00036 
00037   INLINE double get_total_score() const;
00038 
00039   vector_double _cscore, _sscore, _cint;
00040   int _maxi;
00041 };
00042 
00043 #include "isoPlacer.I"
00044 
00045 #endif
00046 
 All Classes Functions Variables Enumerations