#include <FacetBaseData.h>
Public Member Functions | |
FacetBaseData (int idx=0, int num=0) | |
virtual | ~FacetBaseData (void) |
void | init (int idx=0, int num=0) |
void | free (void) |
bool | getm (void) |
void | dup (FacetBaseData a) |
void | execScale (Vector< double > scale) |
void | execShift (Vector< double > shift) |
void | execRotate (Quaternion< double > quat) |
Public Attributes | |
int | num_index |
インデックスの数.(index の要素数) | |
int | num_data |
データ数.(vertex, normal, texcrd の要素数) | |
int | vcount |
ポリゴンの頂点数.通常は3 | |
int * | index |
インデックスデータ | |
Vector< double > * | vertex |
頂点データ | |
Vector< double > * | normal |
法線ベクトル | |
UVMap< double > * | texcrd |
テクスチャマップ |
Definition at line 103 of file FacetBaseData.h.
FacetBaseData | ( | int | idx = 0 , |
|
int | num = 0 | |||
) | [inline] |
Definition at line 116 of file FacetBaseData.h.
References FacetBaseData::init().
00116 { init(idx, num);}
virtual ~FacetBaseData | ( | void | ) | [inline, virtual] |
Definition at line 117 of file FacetBaseData.h.
void dup | ( | FacetBaseData | a | ) |
Definition at line 127 of file FacetBaseData.cpp.
References FacetBaseData::getm(), FacetBaseData::index, FacetBaseData::normal, FacetBaseData::num_data, FacetBaseData::num_index, FacetBaseData::texcrd, FacetBaseData::vcount, and FacetBaseData::vertex.
00128 { 00129 num_index = a.num_index; 00130 num_data = a.num_data; 00131 vcount = a.vcount; 00132 00133 if (getm()) { 00134 for (int i=0; i<num_index; i++) index[i] = a.index[i]; 00135 for (int i=0; i<num_data; i++) { 00136 vertex[i] = a.vertex[i]; 00137 normal[i] = a.normal[i]; 00138 texcrd[i] = a.texcrd[i]; 00139 } 00140 } 00141 return; 00142 }
void execRotate | ( | Quaternion< double > | quat | ) |
Definition at line 168 of file FacetBaseData.cpp.
References FacetBaseData::normal, FacetBaseData::num_data, jbxl::VectorRotation(), and FacetBaseData::vertex.
00169 { 00170 for (int i=0; i<num_data; i++) { 00171 vertex[i] = VectorRotation(vertex[i], quat); 00172 normal[i] = VectorRotation(normal[i], quat); 00173 } 00174 }
void execScale | ( | Vector< double > | scale | ) |
Definition at line 146 of file FacetBaseData.cpp.
References FacetBaseData::num_data, FacetBaseData::vertex, Vector< T >::x, Vector< T >::y, and Vector< T >::z.
void execShift | ( | Vector< double > | shift | ) |
Definition at line 157 of file FacetBaseData.cpp.
References FacetBaseData::num_data, FacetBaseData::vertex, Vector< T >::x, Vector< T >::y, and Vector< T >::z.
void free | ( | void | ) |
Definition at line 96 of file FacetBaseData.cpp.
References jbxl::freeNull(), FacetBaseData::index, FacetBaseData::init(), FacetBaseData::normal, FacetBaseData::texcrd, and FacetBaseData::vertex.
Referenced by jbxl::freeFacetBaseData(), and FacetBaseData::getm().
00097 { 00098 freeNull(index); 00099 00100 freeNull(vertex); 00101 freeNull(normal); 00102 freeNull(texcrd); 00103 00104 init(); 00105 }
bool getm | ( | void | ) |
Definition at line 109 of file FacetBaseData.cpp.
References FacetBaseData::free(), FacetBaseData::index, FacetBaseData::normal, FacetBaseData::num_data, FacetBaseData::num_index, FacetBaseData::texcrd, and FacetBaseData::vertex.
Referenced by FacetBaseData::dup().
00110 { 00111 index = (int*)malloc(sizeof(int)*num_index); 00112 00113 vertex = (Vector<double>*)malloc(sizeof(Vector<double>)*num_data); 00114 normal = (Vector<double>*)malloc(sizeof(Vector<double>)*num_data); 00115 texcrd = (UVMap <double>*)malloc(sizeof(UVMap <double>)*num_data); 00116 00117 if (index==NULL || vertex==NULL || normal==NULL || texcrd==NULL) { 00118 this->free(); 00119 return false; 00120 } 00121 00122 return true; 00123 }
void init | ( | int | idx = 0 , |
|
int | num = 0 | |||
) |
Definition at line 82 of file FacetBaseData.cpp.
References FacetBaseData::index, FacetBaseData::normal, FacetBaseData::num_data, FacetBaseData::num_index, FacetBaseData::texcrd, FacetBaseData::vcount, and FacetBaseData::vertex.
Referenced by FacetBaseData::FacetBaseData(), and FacetBaseData::free().
00083 { 00084 num_index = idx; 00085 num_data = num; 00086 vcount = 3; 00087 00088 index = NULL; 00089 vertex = NULL; 00090 normal = NULL; 00091 texcrd = NULL; 00092 }
int* index |
Definition at line 110 of file FacetBaseData.h.
Referenced by MeshObjectNode::computeVertexDirect(), FacetBaseData::dup(), FacetBaseData::free(), FacetBaseData::getm(), and FacetBaseData::init().
Definition at line 112 of file FacetBaseData.h.
Referenced by MeshObjectNode::computeVertexDirect(), FacetBaseData::dup(), FacetBaseData::execRotate(), FacetBaseData::free(), FacetBaseData::getm(), and FacetBaseData::init().
int num_data |
Definition at line 107 of file FacetBaseData.h.
Referenced by MeshObjectNode::computeVertexDirect(), FacetBaseData::dup(), FacetBaseData::execRotate(), FacetBaseData::execScale(), FacetBaseData::execShift(), FacetBaseData::getm(), and FacetBaseData::init().
int num_index |
Definition at line 106 of file FacetBaseData.h.
Referenced by MeshObjectNode::computeVertexDirect(), FacetBaseData::dup(), FacetBaseData::getm(), and FacetBaseData::init().
Definition at line 113 of file FacetBaseData.h.
Referenced by MeshObjectNode::computeVertexDirect(), FacetBaseData::dup(), FacetBaseData::free(), FacetBaseData::getm(), and FacetBaseData::init().
int vcount |
Definition at line 108 of file FacetBaseData.h.
Referenced by MeshObjectNode::computeVertexDirect(), FacetBaseData::dup(), and FacetBaseData::init().
Definition at line 111 of file FacetBaseData.h.
Referenced by MeshObjectNode::computeVertexDirect(), FacetBaseData::dup(), FacetBaseData::execRotate(), FacetBaseData::execScale(), FacetBaseData::execShift(), FacetBaseData::free(), FacetBaseData::getm(), and FacetBaseData::init().