⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colorcurve.h

📁 学习 open inventor 的例子
💻 H
字号:
#ifndef COLORCURVE_H#define COLORCURVE_H/**************************************************************************\ * *  This file is part of the Coin 3D visualization library. *  Copyright (C) 1998-2003 by Systems in Motion.  All rights reserved. * *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU General Public License *  ("GPL") version 2 as published by the Free Software Foundation. *  See the file LICENSE.GPL at the root directory of this source *  distribution for additional information about the GNU GPL. * *  For using Coin with software that can not be combined with the GNU *  GPL, and for taking advantage of the additional benefits of our *  support services, please contact Systems in Motion about acquiring *  a Coin Professional Edition License. * *  See <URL:http://www.coin3d.org> for more information. * *  Systems in Motion, Teknobyen, Abels Gate 5, 7030 Trondheim, NORWAY. *  <URL:http://www.sim.no>. *\**************************************************************************/#include "../qtsupport.h"#include <Inventor/SbLinear.h>class SbGuiCubicSpline;// *************************************************************************class ColorCurve {public:  enum CurveType { LINEAR, CONSTANT };  ColorCurve(CurveType type = LINEAR, const int numcolors = 256);  ~ColorCurve();  void setColors(uint8_t * colors, int num);  void getColors(uint8_t * colors, int num) const;  int getNumColors(void) const;  int getNumCtrlPoints(void) const;  void setCtrlPoints(const QValueVector<SbVec3f> & pts);  const QValueVector<SbVec3f> & getCtrlPoints(void) const;  void resetCtrlPoints(void);  void setColorMapping(int x, int y);  const uint8_t * getColorMap(void) const;  void interpolateColorMapping(void);  typedef void ChangeCB(void * userdata);  void setChangeCallBack(ColorCurve::ChangeCB * cb, void * userData);  void notify(void) const;  void fill(int value);  private:  void updateColorMap(void);  void updateCurvePoints(void);  int eval(float x) const;    CurveType type;  int prevx;  const int numcolors;  const int numpts;  SbBool needinterpol;    SbVec2f * curvepts;  uint8_t * colormap;  SbGuiCubicSpline * curve;  QValueVector<SbVec3f> ctrlpts;  ColorCurve::ChangeCB * callBack;  void * callbackdata;};#endif // COLORCURVE_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -