#include <Brep.h>

Public Member Functions | |
| BREP_VERTEX () | |
| virtual | ~BREP_VERTEX () |
| void | CloseData () |
| void | DisconnectWing (BREP_WING *wing) |
| void | ComputeNormal () |
| void | ComputeTolerance () |
Public Attributes | |
| BREP_WING_LIST | wing_list |
| Vector< double > | point |
| 頂点の座標. | |
| Vector< double > | normal |
| 法線ベクトル.周りの Contour の法線ベクトルの平均. | |
| UVMap< double > | uvmap |
| 曲面のUV座標 | |
| long int | index |
| シーケンシャルに増加する一意的な番号.Octree に格納されるときに設定される. | |
| bool | calc_normal |
| normal を計算するか? しない場合は入力値を使用する. | |
| double | distance2 |
| double | tolerance |
| BREP_VERTEX_LIST * | forbidden_list |
| お互いに Edgeを張ることを禁止された Vertexの List | |
Definition at line 257 of file Brep.h.
| BREP_VERTEX | ( | ) |
Definition at line 605 of file Brep.cpp.
References jbxl::Abs_Vertex_Tolerance, BREP_VERTEX::calc_normal, BREP_VERTEX::distance2, BREP_VERTEX::forbidden_list, BREP_VERTEX::index, and BREP_VERTEX::tolerance.
00606 { 00607 // Vector類は宣言された時に,既に初期化されている. 00608 00609 index = -1; 00610 calc_normal = true; 00611 tolerance = Abs_Vertex_Tolerance; 00612 00613 forbidden_list = NULL; 00614 distance2 = HUGE_VALF; 00615 }
| ~BREP_VERTEX | ( | ) | [virtual] |
Definition at line 619 of file Brep.cpp.
References DEBUG_MODE, BREP_VERTEX::forbidden_list, PRINT_MESG, and BREP_VERTEX::wing_list.
00620 { 00621 // Wingリストがまだ空でない!! 00622 if (!wing_list.empty()) { 00623 DEBUG_MODE PRINT_MESG("~BREP_VERTEX: List of Wing is not empty!!\n"); 00624 } 00625 00626 if (forbidden_list!=NULL) { 00627 forbidden_list->clear(); 00628 delete(forbidden_list); 00629 } 00630 }
| void CloseData | ( | void | ) |
Definition at line 683 of file Brep.cpp.
References BREP_VERTEX::ComputeTolerance().
Referenced by jbxl::CreateContourByVector().
00684 { 00685 ComputeTolerance(); 00686 }


| void ComputeNormal | ( | ) |
void BREP_VERTEX::ComputeNormal()
Vertexの法線ベクトルを計算する.
Vertexの周りの Contourの法線ベクトルの加算平均を計算する
Definition at line 657 of file Brep.cpp.
References BREP_WING::contour, BREP_CONTOUR::facet, BREP_VERTEX::normal, Vector< T >::normalize(), and BREP_VERTEX::wing_list.
Referenced by OctreeNode::ComputeVerticesNormal().
00658 { 00659 normal = Vector<double>(0.0, 0.0, 0.0); 00660 00661 BREP_WING_LIST::iterator iwing; 00662 for (iwing=wing_list.begin(); iwing!=wing_list.end(); iwing++) { 00663 BREP_WING* wing = *iwing; 00664 normal = normal + (wing->contour->facet)->normal; 00665 } 00666 normal.normalize(); 00667 }


| void ComputeTolerance | ( | ) |
Definition at line 671 of file Brep.cpp.
References jbxl::Abs_Vertex_Tolerance, Max, BREP_VERTEX::point, BREP_VERTEX::tolerance, jbxl::Vertex_Tolerance, Vector< T >::x, Xabs, Vector< T >::y, and Vector< T >::z.
Referenced by BREP_VERTEX::CloseData().
00672 { 00673 double max = Xabs(point.x); 00674 max = Max(max, Xabs(point.y)); 00675 max = Max(max, Xabs(point.z)); 00676 00677 tolerance = Vertex_Tolerance * max; // 相対 00678 tolerance = Max(tolerance, Abs_Vertex_Tolerance); // 絶対 00679 }

| void DisconnectWing | ( | BREP_WING * | wing | ) |
Definition at line 635 of file Brep.cpp.
References DEBUG_MODE, PRINT_MESG, and BREP_VERTEX::wing_list.
Referenced by jbxl::DestroyWing().
00636 { 00637 BREP_WING_LIST::iterator iwing; 00638 // 00639 iwing = std::find(wing_list.begin(), wing_list.end(), wing); 00640 if (iwing==wing_list.end()) { 00641 // この Wingは Vertexと接続していません!! 00642 DEBUG_MODE PRINT_MESG("DisconnectWing: This Wing does not connect with Vertex!!\n"); 00643 return; 00644 } 00645 00646 wing_list.erase(iwing); 00647 }

| bool calc_normal |
Definition at line 268 of file Brep.h.
Referenced by BREP_VERTEX::BREP_VERTEX(), OctreeNode::ComputeVerticesNormal(), and jbxl::CreateContourByVector().
| double distance2 |
Definition at line 270 of file Brep.h.
Referenced by BREP_VERTEX::BREP_VERTEX(), jbxl::FillShortageWings_Near(), and jbxl::SetMinVertex().
Definition at line 273 of file Brep.h.
Referenced by BREP_VERTEX::BREP_VERTEX(), jbxl::IsForbiddenEdge(), jbxl::PatchupContour(), and BREP_VERTEX::~BREP_VERTEX().
| long int index |
Definition at line 267 of file Brep.h.
Referenced by OctreeNode::AddWithDuplicates(), OctreeNode::AddWithUnique(), BREP_VERTEX::BREP_VERTEX(), MeshObjectNode::computeVertexByBREP(), jbxl::OctreeGetter(), and OctreeNode::OctreeNode().
Definition at line 263 of file Brep.h.
Referenced by BrepSolidList::addSolid(), BREP_VERTEX::ComputeNormal(), MeshObjectNode::computeVertexByBREP(), jbxl::CreateContourByVector(), and BrepSolidList::getMerge().
Definition at line 262 of file Brep.h.
Referenced by BrepSolidList::addSolid(), BREP_EDGE::BREP_EDGE(), BREP_CONTOUR::CloseFacet(), jbxl::CompareVertex(), BREP_CONTOUR::ComputeNormal(), BREP_VERTEX::ComputeTolerance(), MeshObjectNode::computeVertexByBREP(), jbxl::CreateContourByVector(), jbxl::FillShortageWings_Near(), BrepSolidList::getMerge(), jbxl::println_FacetAsciiSTL(), jbxl::Vertex2TVector(), and jbxl::WriteSTLFileA().
| double tolerance |
Definition at line 271 of file Brep.h.
Referenced by BREP_VERTEX::BREP_VERTEX(), BREP_CONTOUR::CloseFacet(), jbxl::CompareVertex(), BREP_VERTEX::ComputeTolerance(), and jbxl::Vertex2TVector().
Definition at line 264 of file Brep.h.
Referenced by jbxl::CompareVertex(), MeshObjectNode::computeVertexByBREP(), and jbxl::CreateContourByVector().
Definition at line 260 of file Brep.h.
Referenced by BREP_VERTEX::ComputeNormal(), BREP_VERTEX::DisconnectWing(), jbxl::FindConnectEdgeVertex(), jbxl::FindEdge(), and BREP_VERTEX::~BREP_VERTEX().
1.6.1