Tree @master (Download .tar.gz)
- ..
- fx.h
- fx3d.h
- FX4Splitter.h
- FX7Segment.h
- FX885910Codec.h
- FX885911Codec.h
- FX885913Codec.h
- FX885914Codec.h
- FX885915Codec.h
- FX885916Codec.h
- FX88591Codec.h
- FX88592Codec.h
- FX88593Codec.h
- FX88594Codec.h
- FX88595Codec.h
- FX88596Codec.h
- FX88597Codec.h
- FX88598Codec.h
- FX88599Codec.h
- FXAccelTable.h
- FXApp.h
- FXArray.h
- FXArrowButton.h
- fxascii.h
- FXBitmap.h
- FXBitmapFrame.h
- FXBitmapView.h
- FXBMPIcon.h
- FXBMPImage.h
- FXButton.h
- FXBZFileStream.h
- FXCanvas.h
- FXCheckButton.h
- FXChoiceBox.h
- FXColorBar.h
- FXColorDialog.h
- FXColorList.h
- FXColorRing.h
- FXColorSelector.h
- FXColorWell.h
- FXColorWheel.h
- FXComboBox.h
- FXComposeContext.h
- FXComposite.h
- FXCP1250Codec.h
- FXCP1251Codec.h
- FXCP1252Codec.h
- FXCP1253Codec.h
- FXCP1254Codec.h
- FXCP1255Codec.h
- FXCP1256Codec.h
- FXCP1257Codec.h
- FXCP1258Codec.h
- FXCP437Codec.h
- FXCP850Codec.h
- FXCP852Codec.h
- FXCP855Codec.h
- FXCP856Codec.h
- FXCP857Codec.h
- FXCP860Codec.h
- FXCP861Codec.h
- FXCP862Codec.h
- FXCP863Codec.h
- FXCP864Codec.h
- FXCP865Codec.h
- FXCP866Codec.h
- FXCP869Codec.h
- FXCP874Codec.h
- FXCURCursor.h
- FXCursor.h
- FXDataTarget.h
- FXDate.h
- FXDC.h
- FXDCPrint.h
- FXDCWindow.h
- FXDebugTarget.h
- fxdefs.h
- FXDelegator.h
- FXDial.h
- FXDialogBox.h
- FXDict.h
- FXDir.h
- FXDirBox.h
- FXDirDialog.h
- FXDirList.h
- FXDirSelector.h
- FXDLL.h
- FXDockBar.h
- FXDockHandler.h
- FXDockSite.h
- FXDockTitle.h
- FXDocument.h
- FXDragCorner.h
- FXDrawable.h
- FXDriveBox.h
- FXElement.h
- FXException.h
- FXExpression.h
- FXExtentd.h
- FXExtentf.h
- FXFile.h
- FXFileDialog.h
- FXFileDict.h
- FXFileList.h
- FXFileSelector.h
- FXFileStream.h
- FXFoldingList.h
- FXFont.h
- FXFontDialog.h
- FXFontSelector.h
- FXFrame.h
- FXGIFCursor.h
- FXGIFIcon.h
- FXGIFImage.h
- FXGLCanvas.h
- FXGLCone.h
- FXGLContext.h
- FXGLCube.h
- FXGLCylinder.h
- FXGLObject.h
- FXGLShape.h
- FXGLSphere.h
- FXGLTriangleMesh.h
- FXGLViewer.h
- FXGLVisual.h
- FXGradientBar.h
- FXGroupBox.h
- FXGUISignal.h
- FXGZFileStream.h
- FXHash.h
- FXHeader.h
- FXHorizontalFrame.h
- FXICOIcon.h
- FXICOImage.h
- FXIcon.h
- FXIconDict.h
- FXIconList.h
- FXIconSource.h
- FXId.h
- FXIFFIcon.h
- FXIFFImage.h
- FXImage.h
- FXImageFrame.h
- FXImageView.h
- FXInputDialog.h
- FXIO.h
- FXJPGIcon.h
- FXJPGImage.h
- fxkeys.h
- FXKnob.h
- FXKOI8RCodec.h
- FXLabel.h
- FXList.h
- FXListBox.h
- FXMainWindow.h
- FXMat3d.h
- FXMat3f.h
- FXMat4d.h
- FXMat4f.h
- FXMatrix.h
- FXMDIButton.h
- FXMDIChild.h
- FXMDIClient.h
- FXMemMap.h
- FXMemoryStream.h
- FXMenuBar.h
- FXMenuButton.h
- FXMenuCaption.h
- FXMenuCascade.h
- FXMenuCheck.h
- FXMenuCommand.h
- FXMenuPane.h
- FXMenuRadio.h
- FXMenuSeparator.h
- FXMenuTitle.h
- FXMessageBox.h
- FXObject.h
- FXObjectList.h
- FXOptionMenu.h
- FXPacker.h
- FXPath.h
- FXPCXIcon.h
- FXPCXImage.h
- FXPicker.h
- FXPipe.h
- FXPNGIcon.h
- FXPNGImage.h
- FXPoint.h
- FXPopup.h
- FXPPMIcon.h
- FXPPMImage.h
- FXPrintDialog.h
- FXProgressBar.h
- FXProgressDialog.h
- FXQuatd.h
- FXQuatf.h
- FXRadioButton.h
- FXRanged.h
- FXRangef.h
- FXRASIcon.h
- FXRASImage.h
- FXRealSlider.h
- FXRealSpinner.h
- FXRecentFiles.h
- FXRectangle.h
- FXRegion.h
- FXRegistry.h
- FXReplaceDialog.h
- FXRex.h
- FXRGBIcon.h
- FXRGBImage.h
- FXRootWindow.h
- FXRuler.h
- FXRulerView.h
- FXScrollArea.h
- FXScrollBar.h
- FXScrollPane.h
- FXScrollWindow.h
- FXSearchDialog.h
- FXSeparator.h
- FXSettings.h
- FXShell.h
- FXShutter.h
- FXSize.h
- FXSlider.h
- FXSocket.h
- FXSphered.h
- FXSpheref.h
- FXSpinner.h
- FXSplashWindow.h
- FXSplitter.h
- FXSpring.h
- FXStat.h
- FXStatusBar.h
- FXStatusLine.h
- FXStream.h
- FXString.h
- FXStringDict.h
- FXSwitcher.h
- FXSystem.h
- FXTabBar.h
- FXTabBook.h
- FXTabItem.h
- FXTable.h
- FXText.h
- FXTextCodec.h
- FXTextField.h
- FXTGAIcon.h
- FXTGAImage.h
- FXThread.h
- FXTIFIcon.h
- FXTIFImage.h
- FXToggleButton.h
- FXToolBar.h
- FXToolBarGrip.h
- FXToolBarShell.h
- FXToolBarTab.h
- FXToolTip.h
- FXTopWindow.h
- FXTranslator.h
- FXTreeList.h
- FXTreeListBox.h
- FXTriStateButton.h
- FXUndoList.h
- fxunicode.h
- FXURL.h
- FXUTF16Codec.h
- FXUTF32Codec.h
- FXUTF8Codec.h
- FXVec2d.h
- FXVec2f.h
- FXVec3d.h
- FXVec3f.h
- FXVec4d.h
- FXVec4f.h
- fxver.h
- FXVerticalFrame.h
- FXVisual.h
- FXWindow.h
- FXWizard.h
- FXXBMIcon.h
- FXXBMImage.h
- FXXPMIcon.h
- FXXPMImage.h
- README
- xincs.h
FXGLTriangleMesh.h @master — raw · history · blame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | /********************************************************************************
* *
* O p e n G L T r i a n g l e M e s h O b j e c t *
* *
*********************************************************************************
* Copyright (C) 1999,2002 by Jeroen van der Zijp. 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. *
* *
* 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. *
*********************************************************************************
* $Id: FXGLTriangleMesh.h 809 2002-07-11 17:28:15Z lyle $ *
********************************************************************************/
#ifndef FXGLTRIANGLEMESH_H
#define FXGLTRIANGLEMESH_H
#ifndef FXGLSHAPE_H
#include "FXGLShape.h"
#endif
namespace FX {
/*
* Arrays Formats
*
* vertex: x,y,z
* normal: x,y,z
* Color: r,g.b,a
* texture: u,v
*/
/// OpenGL Triangle Mesh Object
class FXAPI FXGLTriangleMesh : public FXGLShape {
FXDECLARE(FXGLTriangleMesh)
private:
FXfloat *vertexBuffer;
FXfloat *colorBuffer;
FXfloat *normalBuffer;
FXfloat *textureBuffer;
FXint vertexNumber;
protected:
FXGLTriangleMesh();
virtual void drawshape(FXGLViewer* viewer);
virtual void recomputerange();
virtual void generatenormals();
public:
/// Construct triangle mesh with nv vertices, and optional normals, colors, and texture coordinates
FXGLTriangleMesh(FXfloat x,FXfloat y,FXfloat z,FXint nv,FXfloat *v,FXfloat *n=NULL,FXfloat *c=NULL,FXfloat *t=NULL);
/// Construct triangle mesh with nv vertices, and optional normals, colors, and texture coordinates, and surface material
FXGLTriangleMesh(FXfloat x,FXfloat y,FXfloat z,FXint nv,FXfloat *v,FXfloat *n,FXfloat *c,FXfloat *t,const FXMaterial& mtl);
/// Copy constructor
FXGLTriangleMesh(const FXGLTriangleMesh& orig);
/// Copy this object
virtual FXGLObject* copy();
/// Change number of vertices
void setVertexNumber(FXint nvertices){ vertexNumber=nvertices; }
/// Get number of vertices
FXint getVertexNumber() const { return vertexNumber; }
/// Set vertex buffer
void setVertexBuffer(FXfloat *vertices);
/// Get vertex buffer
FXfloat* getVertexBuffer() const { return vertexBuffer; }
/// Set color buffer
void setColorBuffer(FXfloat *colors){ colorBuffer=colors; }
/// Get color buffer
FXfloat* getColorBuffer() const { return colorBuffer; }
/// Set normals buffer
void setNormalBuffer(FXfloat *normals){ normalBuffer=normals; }
/// Get normals buffer
FXfloat* getNormalBuffer() const { return normalBuffer; }
/// Set texture coordinate buffer
void setTextureCoordBuffer(FXfloat *textures){ textureBuffer=textures; }
/// Get texture coordinate buffer
FXfloat* getTextureCoordBuffer() const { return textureBuffer; }
/// Save to a stream
virtual void save(FXStream& store) const;
/// Load from a stream
virtual void load(FXStream& store);
/// Destructor
virtual ~FXGLTriangleMesh();
};
}
#endif
|