Commit 407b7f68 authored by Jan Möbius's avatar Jan Möbius

OM 3

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@17229 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 891e2653
......@@ -1677,7 +1677,7 @@ void MovePlugin::slotMoveToOrigin() {
cog = MeshInfo::cog(mesh);
for ( TriMesh::VertexIter v_it = mesh->vertices_begin(); v_it != mesh->vertices_end() ; ++v_it)
mesh->set_point(v_it , ( mesh->point(v_it) ) - cog );
mesh->set_point(*v_it , ( mesh->point(*v_it) ) - cog );
o_it->manipulatorNode()->set_center( o_it->manipulatorNode()->center() - cog );
}
......@@ -1689,7 +1689,7 @@ void MovePlugin::slotMoveToOrigin() {
cog = MeshInfo::cog(mesh);
for ( PolyMesh::VertexIter v_it = mesh->vertices_begin(); v_it != mesh->vertices_end() ; ++v_it)
mesh->set_point(v_it , ( mesh->point(v_it) ) - cog );
mesh->set_point(*v_it , ( mesh->point(*v_it) ) - cog );
o_it->manipulatorNode()->set_center( o_it->manipulatorNode()->center() - cog );
......@@ -1981,14 +1981,14 @@ void MovePlugin::transformMesh(ACG::Matrix4x4d _mat , MeshT& _mesh ) {
for (; v_it!=v_end; ++v_it) {
// transform the mesh vertex
_mesh.set_point(v_it,_mat.transform_point(_mesh.point(v_it)));
_mesh.set_point(*v_it,_mat.transform_point(_mesh.point(*v_it)));
// transform the vertex normal
typename MeshT::Normal n = invTranspMat.transform_vector(_mesh.normal(v_it));
typename MeshT::Normal n = invTranspMat.transform_vector(_mesh.normal(*v_it));
n.normalize();
_mesh.set_normal(v_it,n);
_mesh.set_normal(*v_it,n);
}
typename MeshT::FaceIter f_it = _mesh.faces_begin();
......@@ -1996,11 +1996,11 @@ void MovePlugin::transformMesh(ACG::Matrix4x4d _mat , MeshT& _mesh ) {
for (; f_it != f_end; ++f_it) {
// transform the face normal
typename MeshT::Normal n = invTranspMat.transform_vector(_mesh.normal(f_it));
typename MeshT::Normal n = invTranspMat.transform_vector(_mesh.normal(*f_it));
n.normalize();
_mesh.set_normal(f_it,n);
_mesh.set_normal(*f_it,n);
}
}
......@@ -2058,13 +2058,13 @@ void MovePlugin::unifyBBDiag(MeshT& _mesh )
// no vertices?
if( v_it == v_end) return;
typename MeshT::Point bb_min = _mesh.point(v_it);
typename MeshT::Point bb_max = _mesh.point(v_it);
typename MeshT::Point bb_min = _mesh.point(*v_it);
typename MeshT::Point bb_max = _mesh.point(*v_it);
for(; v_it!=v_end; ++v_it)
{
bb_min.minimize( _mesh.point(v_it));
bb_max.maximize( _mesh.point(v_it));
bb_min.minimize( _mesh.point(*v_it));
bb_max.maximize( _mesh.point(*v_it));
}
typename MeshT::Point bb_center = 0.5 * (bb_min + bb_max) ;
......@@ -2074,7 +2074,7 @@ void MovePlugin::unifyBBDiag(MeshT& _mesh )
for( v_it = _mesh.vertices_begin(); v_it!=v_end; ++v_it)
{
_mesh.point(v_it) = (_mesh.point(v_it) - bb_center) * scale + bb_center;
_mesh.point(*v_it) = (_mesh.point(*v_it) - bb_center) * scale + bb_center;
}
_mesh.update_normals();
......@@ -2096,13 +2096,13 @@ void MovePlugin::getBB( MeshT& _mesh, ACG::Vec3d& _bb_min, ACG::Vec3d& _bb_max
// no vertices?
if( v_it == v_end) return;
_bb_min = _mesh.point(v_it);
_bb_max = _mesh.point(v_it);
_bb_min = _mesh.point(*v_it);
_bb_max = _mesh.point(*v_it);
for(; v_it!=v_end; ++v_it)
{
_bb_min.minimize( _mesh.point(v_it));
_bb_max.maximize( _mesh.point(v_it));
_bb_min.minimize( _mesh.point(*v_it));
_bb_max.maximize( _mesh.point(*v_it));
}
......@@ -2125,7 +2125,7 @@ void MovePlugin::unifyBBDiag( MeshT& _mesh, ACG::Vec3d& _bb_min, ACG::Vec3d& _bb
typename MeshT::VertexIter v_it;
for( v_it = _mesh.vertices_begin(); v_it!=_mesh.vertices_end(); ++v_it)
_mesh.point(v_it) = (_mesh.point(v_it) - bb_center) * scale + bb_center;
_mesh.point(*v_it) = (_mesh.point(*v_it) - bb_center) * scale + bb_center;
_mesh.update_normals();
......@@ -2193,17 +2193,17 @@ OpenMesh::Vec3d MovePlugin::getNearestVertex(MeshType* _mesh, uint _fh, OpenMesh
typename MeshType::FaceVertexIter fv_it(*_mesh, fh);
typename MeshType::Point hitPointP = (typename MeshType::Point) _hitPoint;
typename MeshType::Scalar shortest_distance = (_mesh->point(fv_it.handle()) - hitPointP).sqrnorm();
typename MeshType::VertexHandle vh = fv_it.handle();
typename MeshType::Scalar shortest_distance = (_mesh->point(*fv_it) - hitPointP).sqrnorm();
typename MeshType::VertexHandle vh = *fv_it;
for (; fv_it; ++fv_it) {
for (; fv_it.is_valid(); ++fv_it) {
typename MeshType::Scalar tmpdist =
(_mesh->point(fv_it.handle()) - hitPointP).sqrnorm();
(_mesh->point(*fv_it) - hitPointP).sqrnorm();
if(tmpdist < shortest_distance) {
shortest_distance = tmpdist;
vh = fv_it.handle();
vh = *fv_it;
}
}
......@@ -2229,10 +2229,10 @@ OpenMesh::Vec3d MovePlugin::getNearestEdge(MeshType* _mesh, uint _fh, OpenMesh::
typename MeshType::Point center;
typename MeshType::Scalar closest_dist(-1);
for (; fe_it; ++fe_it) {
for (; fe_it.is_valid(); ++fe_it) {
typename MeshType::HalfedgeHandle heh0 = _mesh->halfedge_handle(fe_it.handle(), 0);
typename MeshType::HalfedgeHandle heh1 = _mesh->halfedge_handle(fe_it.handle(), 1);
typename MeshType::HalfedgeHandle heh0 = _mesh->halfedge_handle(*fe_it, 0);
typename MeshType::HalfedgeHandle heh1 = _mesh->halfedge_handle(*fe_it, 1);
typename MeshType::Point lp0 = _mesh->point(_mesh->to_vertex_handle(heh0));
typename MeshType::Point lp1 = _mesh->point(_mesh->to_vertex_handle(heh1));
......@@ -2274,9 +2274,9 @@ OpenMesh::Vec3d MovePlugin::getNearestFace(MeshType* _mesh, uint _fh, OpenMesh::
typename MeshType::Point cog(0.0,0.0,0.0);
uint count = 0;
for (; fv_it; ++fv_it) {
for (; fv_it.is_valid(); ++fv_it) {
cog += _mesh->point(fv_it.handle());
cog += _mesh->point(*fv_it);
++count;
}
......
......@@ -146,7 +146,7 @@ void MovePlugin::translate( int _objectId , Vector _vector) {
TriMesh::VertexIter v_it = mesh.vertices_begin();
TriMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it)
mesh.set_point(v_it,mesh.point(v_it) + _vector );
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -154,7 +154,7 @@ void MovePlugin::translate( int _objectId , Vector _vector) {
PolyMesh::VertexIter v_it = mesh.vertices_begin();
PolyMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it)
mesh.set_point(v_it,mesh.point(v_it) + _vector );
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
......@@ -292,8 +292,8 @@ void MovePlugin::translateVertexSelection( int _objectId , Vector _vector) {
TriMesh::VertexIter v_it = mesh.vertices_begin();
TriMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it)
if ( mesh.status(v_it).selected() )
mesh.set_point(v_it,mesh.point(v_it) + _vector );
if ( mesh.status(*v_it).selected() )
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -301,8 +301,8 @@ void MovePlugin::translateVertexSelection( int _objectId , Vector _vector) {
PolyMesh::VertexIter v_it = mesh.vertices_begin();
PolyMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it)
if ( mesh.status(v_it).selected() )
mesh.set_point(v_it,mesh.point(v_it) + _vector );
if ( mesh.status(*v_it).selected() )
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
else if ( object->dataType( DATA_TSPLINE_MESH ) ) {
......@@ -365,17 +365,17 @@ void MovePlugin::translateFaceSelection( int _objectId , Vector _vector) {
TriMesh::FaceIter f_it = mesh.faces_begin();
TriMesh::FaceIter f_end = mesh.faces_end();
for (; f_it!=f_end; ++f_it)
if ( mesh.status(f_it).selected() )
if ( mesh.status(*f_it).selected() )
{
for(TriMesh::FVIter fv_it = mesh.fv_iter(f_it); fv_it; ++fv_it)
mesh.status(fv_it).set_tagged(true);
for(TriMesh::FVIter fv_it = mesh.fv_iter(*f_it); fv_it.is_valid(); ++fv_it)
mesh.status(*fv_it).set_tagged(true);
}
TriMesh::VertexIter v_it = mesh.vertices_begin();
TriMesh::VertexIter v_end = mesh.vertices_end();
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() )
mesh.set_point(v_it,mesh.point(v_it) + _vector );
if ( mesh.status(*v_it).tagged() )
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -383,17 +383,17 @@ void MovePlugin::translateFaceSelection( int _objectId , Vector _vector) {
PolyMesh::FaceIter f_it = mesh.faces_begin();
PolyMesh::FaceIter f_end = mesh.faces_end();
for (; f_it!=f_end; ++f_it)
if ( mesh.status(f_it).selected() )
if ( mesh.status(*f_it).selected() )
{
for(TriMesh::FVIter fv_it = mesh.fv_iter(f_it); fv_it; ++fv_it)
mesh.status(fv_it).set_tagged(true);
for(TriMesh::FVIter fv_it = mesh.fv_iter(*f_it); fv_it.is_valid(); ++fv_it)
mesh.status(*fv_it).set_tagged(true);
}
PolyMesh::VertexIter v_it = mesh.vertices_begin();
PolyMesh::VertexIter v_end = mesh.vertices_end();
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() )
mesh.set_point(v_it,mesh.point(v_it) + _vector );
if ( mesh.status(*v_it).tagged() )
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
else if ( object->dataType( DATA_TSPLINE_MESH ) ) {
......@@ -466,22 +466,22 @@ void MovePlugin::translateEdgeSelection( int _objectId , Vector _vector) {
//init tags
TriMesh::VertexIter v_it, v_end( mesh.vertices_end() );
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
mesh.status(v_it).set_tagged(false);
mesh.status(*v_it).set_tagged(false);
TriMesh::EdgeIter e_it = mesh.edges_begin();
TriMesh::EdgeIter e_end = mesh.edges_end();
for (; e_it!=e_end; ++e_it)
if ( mesh.status(e_it).selected() )
if ( mesh.status(*e_it).selected() )
{
TriMesh::HalfedgeHandle hh = mesh.halfedge_handle( e_it, 0 );
TriMesh::HalfedgeHandle hh = mesh.halfedge_handle( *e_it, 0 );
mesh.status( mesh.from_vertex_handle( hh ) ).set_tagged(true);
mesh.status( mesh.to_vertex_handle( hh ) ).set_tagged(true);
}
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() ){
mesh.set_point(v_it,mesh.point(v_it) + _vector );
if ( mesh.status(*v_it).tagged() ){
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
}
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -491,22 +491,22 @@ void MovePlugin::translateEdgeSelection( int _objectId , Vector _vector) {
//init tags
PolyMesh::VertexIter v_it, v_end( mesh.vertices_end() );
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
mesh.status(v_it).set_tagged(false);
mesh.status(*v_it).set_tagged(false);
PolyMesh::EdgeIter e_it = mesh.edges_begin();
PolyMesh::EdgeIter e_end = mesh.edges_end();
for (; e_it!=e_end; ++e_it)
if ( mesh.status(e_it).selected() )
if ( mesh.status(*e_it).selected() )
{
PolyMesh::HalfedgeHandle hh = mesh.halfedge_handle( e_it, 0 );
PolyMesh::HalfedgeHandle hh = mesh.halfedge_handle( *e_it, 0 );
mesh.status( mesh.from_vertex_handle( hh ) ).set_tagged(true);
mesh.status( mesh.to_vertex_handle( hh ) ).set_tagged(true);
}
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() ){
mesh.set_point(v_it,mesh.point(v_it) + _vector );
if ( mesh.status(*v_it).tagged() ){
mesh.set_point(*v_it,mesh.point(*v_it) + _vector );
}
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
......@@ -610,8 +610,8 @@ void MovePlugin::transform( int _objectId , Matrix4x4 _matrix ){
TriMesh::VertexIter v_it = mesh.vertices_begin();
TriMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it){
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -620,8 +620,8 @@ void MovePlugin::transform( int _objectId , Matrix4x4 _matrix ){
PolyMesh::VertexIter v_it = mesh.vertices_begin();
PolyMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it){
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
......@@ -783,11 +783,11 @@ bool MovePlugin::transformVertexSelection( int _objectId , Matrix4x4 _matrix ){
TriMesh::VertexIter v_it = mesh.vertices_begin();
TriMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it)
if ( mesh.status(v_it).selected() )
if ( mesh.status(*v_it).selected() )
{
noneSelected = false;
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -796,11 +796,11 @@ bool MovePlugin::transformVertexSelection( int _objectId , Matrix4x4 _matrix ){
PolyMesh::VertexIter v_it = mesh.vertices_begin();
PolyMesh::VertexIter v_end = mesh.vertices_end();
for (; v_it!=v_end; ++v_it)
if ( mesh.status(v_it).selected() )
if ( mesh.status(*v_it).selected() )
{
noneSelected = false;
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
......@@ -884,22 +884,22 @@ bool MovePlugin::transformFaceSelection( int _objectId , Matrix4x4 _matrix ){
//init tags
TriMesh::VertexIter v_it, v_end( mesh.vertices_end() );
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
mesh.status(v_it).set_tagged(false);
mesh.status(*v_it).set_tagged(false);
TriMesh::FaceIter f_it = mesh.faces_begin();
TriMesh::FaceIter f_end = mesh.faces_end();
for (; f_it!=f_end; ++f_it)
if ( mesh.status(f_it).selected() )
if ( mesh.status(*f_it).selected() )
{
noneSelected = false;
for(TriMesh::FVIter fv_it = mesh.fv_iter(f_it); fv_it; ++fv_it)
mesh.status(fv_it).set_tagged(true);
for(TriMesh::FVIter fv_it = mesh.fv_iter(*f_it); fv_it.is_valid(); ++fv_it)
mesh.status(*fv_it).set_tagged(true);
}
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() ){
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
if ( mesh.status(*v_it).tagged() ){
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -909,22 +909,22 @@ bool MovePlugin::transformFaceSelection( int _objectId , Matrix4x4 _matrix ){
//init tags
PolyMesh::VertexIter v_it, v_end( mesh.vertices_end() );
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
mesh.status(v_it).set_tagged(false);
mesh.status(*v_it).set_tagged(false);
PolyMesh::FaceIter f_it = mesh.faces_begin();
PolyMesh::FaceIter f_end = mesh.faces_end();
for (; f_it!=f_end; ++f_it)
if ( mesh.status(f_it).selected() )
if ( mesh.status(*f_it).selected() )
{
noneSelected = false;
for(PolyMesh::FVIter fv_it = mesh.fv_iter(f_it); fv_it; ++fv_it)
mesh.status(fv_it).set_tagged(true);
for(PolyMesh::FVIter fv_it = mesh.fv_iter(*f_it); fv_it.is_valid(); ++fv_it)
mesh.status(*fv_it).set_tagged(true);
}
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() ){
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
if ( mesh.status(*v_it).tagged() ){
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
......@@ -1002,24 +1002,24 @@ bool MovePlugin::transformEdgeSelection( int _objectId , Matrix4x4 _matrix ){
//init tags
TriMesh::VertexIter v_it, v_end( mesh.vertices_end() );
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
mesh.status(v_it).set_tagged(false);
mesh.status(*v_it).set_tagged(false);
TriMesh::EdgeIter e_it = mesh.edges_begin();
TriMesh::EdgeIter e_end = mesh.edges_end();
for (; e_it!=e_end; ++e_it)
if ( mesh.status(e_it).selected() )
if ( mesh.status(*e_it).selected() )
{
noneSelected = false;
TriMesh::HalfedgeHandle hh = mesh.halfedge_handle( e_it, 0 );
TriMesh::HalfedgeHandle hh = mesh.halfedge_handle( *e_it, 0 );
mesh.status( mesh.from_vertex_handle( hh ) ).set_tagged(true);
mesh.status( mesh.to_vertex_handle( hh ) ).set_tagged(true);
}
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() ){
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
if ( mesh.status(*v_it).tagged() ){
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
} else if ( object->dataType( DATA_POLY_MESH ) ) {
......@@ -1029,24 +1029,24 @@ bool MovePlugin::transformEdgeSelection( int _objectId , Matrix4x4 _matrix ){
//init tags
PolyMesh::VertexIter v_it, v_end( mesh.vertices_end() );
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
mesh.status(v_it).set_tagged(false);
mesh.status(*v_it).set_tagged(false);
PolyMesh::EdgeIter e_it = mesh.edges_begin();
PolyMesh::EdgeIter e_end = mesh.edges_end();
for (; e_it!=e_end; ++e_it)
if ( mesh.status(e_it).selected() )
if ( mesh.status(*e_it).selected() )
{
noneSelected = false;
PolyMesh::HalfedgeHandle hh = mesh.halfedge_handle( e_it, 0 );
PolyMesh::HalfedgeHandle hh = mesh.halfedge_handle( *e_it, 0 );
mesh.status( mesh.from_vertex_handle( hh ) ).set_tagged(true);
mesh.status( mesh.to_vertex_handle( hh ) ).set_tagged(true);
}
for (v_it=mesh.vertices_begin(); v_it!=v_end; ++v_it)
if ( mesh.status(v_it).tagged() ){
mesh.set_point (v_it, _matrix.transform_point ( mesh.point(v_it) ) );
mesh.set_normal(v_it, _matrix.transform_vector( mesh.normal(v_it) ) );
if ( mesh.status(*v_it).tagged() ){
mesh.set_point (*v_it, _matrix.transform_point ( mesh.point(*v_it) ) );
mesh.set_normal(*v_it, _matrix.transform_vector( mesh.normal(*v_it) ) );
}
}
#ifdef ENABLE_TSPLINEMESH_SUPPORT
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment