00001 /**************************************************************************************/00002 /* */00003 /* Visualization Library */00004 /* http://visualizationlibrary.org */00005 /* */00006 /* Copyright (c) 2005-2010, Michele Bosi */00007 /* All rights reserved. */00008 /* */00009 /* Redistribution and use in source and binary forms, with or without modification, */00010 /* are permitted provided that the following conditions are met: */00011 /* */00012 /* - Redistributions of source code must retain the above copyright notice, this */00013 /* list of conditions and the following disclaimer. */00014 /* */00015 /* - Redistributions in binary form must reproduce the above copyright notice, this */00016 /* list of conditions and the following disclaimer in the documentation and/or */00017 /* other materials provided with the distribution. */00018 /* */00019 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND */00020 /* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED */00021 /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */00022 /* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR */00023 /* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */00024 /* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */00025 /* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */00026 /* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */00027 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */00028 /* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */00029 /* */00030 /**************************************************************************************/00031
00032 #ifndef VertexAttribInfo_INLUDE_ONCE00033 #define VertexAttribInfo_INLUDE_ONCE00034
00035 #include <vlCore/Object.hpp>00036 #include <vlGraphics/Array.hpp>00037
00038 namespace vl
00039 {
00040 //------------------------------------------------------------------------------00041 // VertexAttribInfo00042 //------------------------------------------------------------------------------00047class VertexAttribInfo: publicObject00048 {
00049 VL_INSTRUMENT_CLASS(vl::VertexAttribInfo, Object)
00050
00051 public:
00052VertexAttribInfo(unsignedint location, ArrayAbstract* data, boolnormalize=true, EVertexAttribInterpretation data_behav=VAI_NORMAL): mData(data), mAttribLocation(location), mInterpretation(data_behav), mNormalize(normalize) {}
00053
00054VertexAttribInfo(): mAttribLocation((unsigned int)-1), mInterpretation(VAI_NORMAL), mNormalize(false) {}
00055
00057voidsetData(ArrayAbstract* data) { mData = data; }
00058
00060constArrayAbstract* data() const { returnmData.get(); }
00061
00063ArrayAbstract* data() { returnmData.get(); }
00064
00069voidsetAttribLocation(unsignedint index) { mAttribLocation = index; }
00070
00075unsignedintattribLocation() const { returnmAttribLocation; }
00076
00080voidsetNormalize(boolnormalize) { mNormalize = normalize; }
00081
00085boolnormalize() const { returnmNormalize; }
00086
00088voidsetInterpretation(EVertexAttribInterpretation behavior) { mInterpretation = behavior; }
00089
00091EVertexAttribInterpretationinterpretation() const { returnmInterpretation; }
00092
00093 protected:
00094ref<ArrayAbstract>mData;
00095unsignedintmAttribLocation;
00096EVertexAttribInterpretationmInterpretation;
00097boolmNormalize;
00098 };
00099 }
00100
00101 #endif
Visualization Library v1.0.3 Reference Documentation
Copyright Michele Bosi. All rights reserved.
Updated on Tue Feb 7 2017 00:55:03.
Permission is granted to use this page to write and publish articles regarding Visualization Library.