00001 #include "myGLBboxDrawArray.h"
00002
00003 namespace X3DTK {
00004 namespace GL {
00005
00006 MyGLBboxDrawArray::MyGLBboxDrawArray()
00007 : h(0.1f)
00008 {
00009 MFVec3f vertexArray(8);
00010
00011 vertexArray[0] = SFVec3f(-1.0f, -1.0f, -1.0f);
00012 vertexArray[1] = SFVec3f(1.0f, -1.0f, -1.0f);
00013 vertexArray[2] = SFVec3f(1.0f, 1.0f, -1.0f);
00014 vertexArray[3] = SFVec3f(-1.0f, 1.0f, -1.0f);
00015 vertexArray[4] = SFVec3f(-1.0f, -1.0f, 1.0f);
00016 vertexArray[5] = SFVec3f(1.0f, -1.0f, 1.0f);
00017 vertexArray[6] = SFVec3f(1.0f, 1.0f, 1.0f);
00018 vertexArray[7] = SFVec3f(-1.0f, 1.0f, 1.0f);
00019
00020 for (MFVec3f::const_iterator it = vertexArray.begin(); it != vertexArray.end(); ++it)
00021 {
00022 _bboxVertexArray.push_back(*it);
00023 }
00024
00025
00026 for (int k = 0; k < 4 ; ++k)
00027 {
00028 _bboxIndexArray.push_back(k);
00029 _bboxIndexArray.push_back((k+1)%4);
00030 }
00031
00032
00033 for (int k = 0; k < 4 ; ++k)
00034 {
00035 _bboxIndexArray.push_back(k+4);
00036 _bboxIndexArray.push_back((k+1)%4+4);
00037 }
00038
00039
00040 _bboxIndexArray.push_back(1);
00041 _bboxIndexArray.push_back(5);
00042 _bboxIndexArray.push_back(2);
00043 _bboxIndexArray.push_back(6);
00044
00045
00046 _bboxIndexArray.push_back(0);
00047 _bboxIndexArray.push_back(4);
00048 _bboxIndexArray.push_back(3);
00049 _bboxIndexArray.push_back(7);
00050
00051
00052
00053
00054 }
00055
00056 unsigned int MyGLBboxDrawArray::getBboxSize() const
00057 {
00058 return _bboxIndexArray.size();
00059 }
00060
00061 const void * MyGLBboxDrawArray::getBboxVertexArrayAddress() const
00062 {
00063 return &_bboxVertexArray.front();
00064 }
00065
00066 const unsigned int * MyGLBboxDrawArray::getBboxIndexArrayAddress() const
00067 {
00068 return &_bboxIndexArray.front();
00069 }
00070
00071 }
00072 }