Changeset 8558
- Timestamp:
- 07/11/08 18:48:55
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
OpenSceneGraph/trunk/src/osgWrappers/osg/KdTree.cpp
r8555 r8558 11 11 #include <osgIntrospection/Attributes> 12 12 13 #include <osg/ BoundingBox>13 #include <osg/Array> 14 14 #include <osg/CopyOp> 15 15 #include <osg/Geode> … … 28 28 #endif 29 29 30 TYPE_NAME_ALIAS(std:: multiset< osg::KdTree::LineSegmentIntersection >, osg::KdTree::LineSegmentIntersections)30 TYPE_NAME_ALIAS(std::vector< osg::KdTree::LineSegmentIntersection >, osg::KdTree::LineSegmentIntersections) 31 31 32 32 TYPE_NAME_ALIAS(int, osg::KdTree::value_type) 33 33 34 TYPE_NAME_ALIAS(std::vector< osg::KdTree::value_type >, osg::KdTree::Indices)35 36 TYPE_NAME_ALIAS(std::vector< unsigned int >, osg::KdTree::AxisStack)37 38 34 TYPE_NAME_ALIAS(std::vector< osg::KdTree::KdNode >, osg::KdTree::KdNodeList) 39 35 40 TYPE_NAME_ALIAS(std::vector< osg::KdTree::KdLeaf >, osg::KdTree::KdLeafList)41 42 TYPE_NAME_ALIAS(std::vector< osg::BoundingBox >, osg::KdTree::BoundingBoxList)43 44 36 TYPE_NAME_ALIAS(std::vector< osg::KdTree::Triangle >, osg::KdTree::TriangleList) 45 46 TYPE_NAME_ALIAS(std::vector< osg::Vec3 >, osg::KdTree::CenterList)47 37 48 38 BEGIN_OBJECT_REFLECTOR(osg::KdTree) … … 101 91 "compute the intersection of a line segment and the kdtree, return true if an intersection has been found. ", 102 92 ""); 103 I_Method1(int, addLeaf, IN, const osg::KdTree::KdLeaf &, leaf,104 Properties::NON_VIRTUAL,105 __int__addLeaf__C5_KdLeaf_R1,106 "note, leafNum is negative to distinguish from nodeNum ",107 "");108 I_Method2(int, replaceLeaf, IN, int, leafNum, IN, const osg::KdTree::KdLeaf &, leaf,109 Properties::NON_VIRTUAL,110 __int__replaceLeaf__int__C5_KdLeaf_R1,111 "",112 "");113 I_Method1(osg::KdTree::KdLeaf &, getLeaf, IN, int, leafNum,114 Properties::NON_VIRTUAL,115 __KdLeaf_R1__getLeaf__int,116 "note, leafNum is negative to distinguish from nodeNum ",117 "");118 I_Method1(const osg::KdTree::KdLeaf &, getLeaf, IN, int, leafNum,119 Properties::NON_VIRTUAL,120 __C5_KdLeaf_R1__getLeaf__int,121 "",122 "");123 93 I_Method1(int, addNode, IN, const osg::KdTree::KdNode &, node, 124 94 Properties::NON_VIRTUAL, … … 129 99 Properties::NON_VIRTUAL, 130 100 __KdNode_R1__getNode__int, 131 " note, nodeNum is positive to distinguish from leftNum",101 "", 132 102 ""); 133 103 I_Method1(const osg::KdTree::KdNode &, getNode, IN, int, nodeNum, 134 104 Properties::NON_VIRTUAL, 135 105 __C5_KdNode_R1__getNode__int, 136 "note, nodeNum is positive to distinguish from leftNum ", 137 ""); 138 I_Method1(osg::BoundingBox &, getBoundingBox, IN, int, nodeNum, 139 Properties::NON_VIRTUAL, 140 __osg_BoundingBox_R1__getBoundingBox__int, 141 "", 142 ""); 143 I_Method1(void, computeDivisions, IN, osg::KdTree::BuildOptions &, options, 144 Properties::NON_VIRTUAL, 145 __void__computeDivisions__BuildOptions_R1, 146 "", 147 ""); 148 I_Method4(int, divide, IN, osg::KdTree::BuildOptions &, options, IN, osg::BoundingBox &, bb, IN, int, nodeIndex, IN, unsigned int, level, 149 Properties::NON_VIRTUAL, 150 __int__divide__BuildOptions_R1__osg_BoundingBox_R1__int__unsigned_int, 151 "", 152 ""); 153 I_Method4(bool, intersect, IN, const osg::KdTree::KdLeaf &, leaf, IN, const osg::Vec3 &, start, IN, const osg::Vec3 &, end, IN, osg::KdTree::LineSegmentIntersections &, intersections, 154 Properties::NON_VIRTUAL, 155 __bool__intersect__C5_KdLeaf_R1__C5_osg_Vec3_R1__C5_osg_Vec3_R1__LineSegmentIntersections_R1, 156 "", 157 ""); 158 I_Method6(bool, intersect, IN, const osg::KdTree::KdNode &, node, IN, const osg::Vec3 &, start, IN, const osg::Vec3 &, end, IN, const osg::Vec3 &, s, IN, const osg::Vec3 &, e, IN, osg::KdTree::LineSegmentIntersections &, intersections, 159 Properties::NON_VIRTUAL, 160 __bool__intersect__C5_KdNode_R1__C5_osg_Vec3_R1__C5_osg_Vec3_R1__C5_osg_Vec3_R1__C5_osg_Vec3_R1__LineSegmentIntersections_R1, 161 "", 162 ""); 163 I_Method3(bool, intersectAndClip, IN, osg::Vec3 &, s, IN, osg::Vec3 &, e, IN, const osg::BoundingBox &, bb, 164 Properties::NON_VIRTUAL, 165 __bool__intersectAndClip__osg_Vec3_R1__osg_Vec3_R1__C5_osg_BoundingBox_R1, 166 "", 167 ""); 168 I_PublicMemberProperty(osg::observer_ptr< osg::Geometry >, _geometry); 169 I_PublicMemberProperty(osg::BoundingBox, _bb); 170 I_PublicMemberProperty(osg::KdTree::AxisStack, _axisStack); 171 I_PublicMemberProperty(osg::KdTree::KdNodeList, _kdNodes); 172 I_PublicMemberProperty(osg::KdTree::KdLeafList, _kdLeaves); 173 I_PublicMemberProperty(osg::ref_ptr< osg::Vec3Array >, _vertices); 174 I_PublicMemberProperty(osg::KdTree::Indices, _primitiveIndices); 175 I_PublicMemberProperty(osg::KdTree::BoundingBoxList, _boundingBoxes); 176 I_PublicMemberProperty(osg::KdTree::TriangleList, _triangles); 177 I_PublicMemberProperty(osg::KdTree::CenterList, _centers); 106 "", 107 ""); 108 I_Method0(osg::KdTree::KdNodeList &, getNodes, 109 Properties::NON_VIRTUAL, 110 __KdNodeList_R1__getNodes, 111 "", 112 ""); 113 I_Method0(const osg::KdTree::KdNodeList &, getNodes, 114 Properties::NON_VIRTUAL, 115 __C5_KdNodeList_R1__getNodes, 116 "", 117 ""); 118 I_Method1(void, setVertices, IN, osg::Vec3Array *, vertices, 119 Properties::NON_VIRTUAL, 120 __void__setVertices__osg_Vec3Array_P1, 121 "", 122 ""); 123 I_Method0(const osg::Vec3Array *, getVertices, 124 Properties::NON_VIRTUAL, 125 __C5_osg_Vec3Array_P1__getVertices, 126 "", 127 ""); 128 I_Method1(unsigned int, addTriangle, IN, const osg::KdTree::Triangle &, tri, 129 Properties::NON_VIRTUAL, 130 __unsigned_int__addTriangle__C5_Triangle_R1, 131 "", 132 ""); 133 I_Method1(osg::KdTree::Triangle &, getTriangle, IN, unsigned int, i, 134 Properties::NON_VIRTUAL, 135 __Triangle_R1__getTriangle__unsigned_int, 136 "", 137 ""); 138 I_Method1(const osg::KdTree::Triangle &, getTriangle, IN, unsigned int, i, 139 Properties::NON_VIRTUAL, 140 __C5_Triangle_R1__getTriangle__unsigned_int, 141 "", 142 ""); 143 I_Method0(osg::KdTree::TriangleList &, getTriangles, 144 Properties::NON_VIRTUAL, 145 __TriangleList_R1__getTriangles, 146 "", 147 ""); 148 I_Method0(const osg::KdTree::TriangleList &, getTriangles, 149 Properties::NON_VIRTUAL, 150 __C5_TriangleList_R1__getTriangles, 151 "", 152 ""); 153 I_SimpleProperty(osg::KdTree::KdNodeList &, Nodes, 154 __KdNodeList_R1__getNodes, 155 0); 156 I_SimpleProperty(osg::KdTree::TriangleList &, Triangles, 157 __TriangleList_R1__getTriangles, 158 0); 159 I_SimpleProperty(osg::Vec3Array *, Vertices, 160 0, 161 __void__setVertices__osg_Vec3Array_P1); 178 162 END_REFLECTOR 179 163 … … 188 172 END_REFLECTOR 189 173 190 BEGIN_VALUE_REFLECTOR(osg::KdTree::Kd Leaf)191 I_DeclaringFile("osg/KdTree"); 192 I_Constructor0(____Kd Leaf,174 BEGIN_VALUE_REFLECTOR(osg::KdTree::KdNode) 175 I_DeclaringFile("osg/KdTree"); 176 I_Constructor0(____KdNode, 193 177 "", 194 178 ""); 195 179 I_Constructor2(IN, osg::KdTree::value_type, f, IN, osg::KdTree::value_type, s, 196 ____Kd Leaf__value_type__value_type,180 ____KdNode__value_type__value_type, 197 181 "", 198 182 ""); … … 202 186 END_REFLECTOR 203 187 204 BEGIN_VALUE_REFLECTOR(osg::KdTree::KdNode)205 I_DeclaringFile("osg/KdTree");206 I_Constructor0(____KdNode,207 "",208 "");209 I_Constructor2(IN, osg::KdTree::value_type, f, IN, osg::KdTree::value_type, s,210 ____KdNode__value_type__value_type,211 "",212 "");213 I_PublicMemberProperty(osg::BoundingBox, bb);214 I_PublicMemberProperty(osg::KdTree::value_type, first);215 I_PublicMemberProperty(osg::KdTree::value_type, second);216 END_REFLECTOR217 218 188 TYPE_NAME_ALIAS(std::vector< unsigned int >, osg::KdTree::LineSegmentIntersection::IndexList) 219 189 … … 228 198 I_PublicMemberProperty(osg::Vec3d, intersectionPoint); 229 199 I_PublicMemberProperty(osg::Vec3, intersectionNormal); 230 I_PublicMemberProperty(osg::KdTree::LineSegmentIntersection::IndexList, indexList); 231 I_PublicMemberProperty(osg::KdTree::LineSegmentIntersection::RatioList, ratioList); 200 I_PublicMemberProperty(unsigned int, p0); 201 I_PublicMemberProperty(unsigned int, p1); 202 I_PublicMemberProperty(unsigned int, p2); 203 I_PublicMemberProperty(float, r0); 204 I_PublicMemberProperty(float, r1); 205 I_PublicMemberProperty(float, r2); 232 206 I_PublicMemberProperty(unsigned int, primitiveIndex); 233 207 END_REFLECTOR … … 235 209 BEGIN_VALUE_REFLECTOR(osg::KdTree::Triangle) 236 210 I_DeclaringFile("osg/KdTree"); 237 I_Constructor3(IN, unsigned int, p1, IN, unsigned int, p2, IN, unsigned int, p3, 211 I_Constructor0(____Triangle, 212 "", 213 ""); 214 I_Constructor3(IN, unsigned int, ip0, IN, unsigned int, ip1, IN, unsigned int, ip2, 238 215 ____Triangle__unsigned_int__unsigned_int__unsigned_int, 239 216 "", 240 217 ""); 241 I_PublicMemberProperty(unsigned int, _p1);242 I_PublicMemberProperty(unsigned int, _p2);243 I_PublicMemberProperty(unsigned int, _p3);218 I_PublicMemberProperty(unsigned int, p0); 219 I_PublicMemberProperty(unsigned int, p1); 220 I_PublicMemberProperty(unsigned int, p2); 244 221 END_REFLECTOR 245 222 … … 269 246 END_REFLECTOR 270 247 271 STD_SET_REFLECTOR(std::multiset< osg::KdTree::LineSegmentIntersection >)272 273 248 STD_VECTOR_REFLECTOR(std::vector< double >) 274 249 275 STD_VECTOR_REFLECTOR(std::vector< osg::BoundingBox >)276 277 STD_VECTOR_REFLECTOR(std::vector< osg::KdTree::KdLeaf >)278 279 250 STD_VECTOR_REFLECTOR(std::vector< osg::KdTree::KdNode >) 280 251 252 STD_VECTOR_REFLECTOR(std::vector< osg::KdTree::LineSegmentIntersection >) 253 281 254 STD_VECTOR_REFLECTOR(std::vector< osg::KdTree::Triangle >) 282 255 283 STD_VECTOR_REFLECTOR(std::vector< osg::KdTree::value_type >)284
