Package org.robwork.sdurw_geometry
Class IndexedTriMeshN0
- java.lang.Object
-
- org.robwork.sdurw_geometry.GeometryData
-
- org.robwork.sdurw_geometry.TriMesh
-
- org.robwork.sdurw_geometry.IndexedTriMesh
-
- org.robwork.sdurw_geometry.IndexedTriMeshN0
-
public class IndexedTriMeshN0 extends IndexedTriMesh
an Indexed Triangle mesh with zero normals
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.robwork.sdurw_geometry.TriMesh
TriMesh.TriCenterIterator, TriMesh.VerticeIterator
-
Nested classes/interfaces inherited from class org.robwork.sdurw_geometry.GeometryData
GeometryData.GeometryType
-
-
Constructor Summary
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(IndexedTriangle triangle)
Add indexed triangle to the triangle mesh.double
calcFaceArea(long triIdx)
calculate area of triangle at index triIdxVector3D
calcFaceCentroid(long triIdx)
calculate centroid of triangle at index triIdxVector3D
calcFaceNormal(long triIdx)
calculate face normal of triangle at index triIdxTriMeshPtr
clone()
make a clone of this triangle meshvoid
delete()
IndexedTriangle
get(long i)
static long
getCPtr(IndexedTriMeshN0 obj)
IndexedTriangle_32
getIndexedTriangle(long i)
get the indexed triangle at index iint
getNrTris()
The number of triangles in the meshlong
getSize()
gets the number of triangles in the triangle array.Triangle
getTriangle(long i)
gets the triangle at index idx.void
getTriangle(long i, Triangle dst)
gets the triangle at index idx.void
getTriangle(long i, Triangle_f dst)
gets the triangle at index idx.VectorIndexedTriangle
getTriangles()
get triangle listVector3D
getTriVertex(long i, long triIdx)
get vertex i of triangle at index triIdx.Vector3D
getVertex(long i, VertexIdx vidx)
get vertex vidx of triangle at index i.Vector3D
getVertexNormal(long i, VertexIdx vidx)
Get normal of vertex vidx of triangle at index i.void
resize(long nsize)
Set the number of triangles in the mesh.void
set(long i, IndexedTriangle d)
-
Methods inherited from class org.robwork.sdurw_geometry.IndexedTriMesh
getCPtr, getIndexPtr, getIndexSize, getIndices, getNormals, getTriangleStride, getType, getVertex, getVertices, hasFaceNormals, hasVertexNormals, scale, size
-
Methods inherited from class org.robwork.sdurw_geometry.TriMesh
getCPtr, getTriMesh, getTriMesh, getVolume, isConvex, setConvexEnabled
-
Methods inherited from class org.robwork.sdurw_geometry.GeometryData
getCPtr, toString
-
-
-
-
Constructor Detail
-
IndexedTriMeshN0
public IndexedTriMeshN0(long cPtr, boolean cMemoryOwn)
-
IndexedTriMeshN0
public IndexedTriMeshN0()
Constructor
-
IndexedTriMeshN0
public IndexedTriMeshN0(SWIGTYPE_p_std__vectorT_rw__math__Vector3DT_double_t_t vertices)
constructor - ownership of the vertice array is taken- Parameters:
vertices
- [in] pointer to vector of vertices.
-
IndexedTriMeshN0
public IndexedTriMeshN0(SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_double_t_t_t vertices, SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_double_t_t_t normals)
constructor - ownership of the vertice array is taken- Parameters:
vertices
- [in] pointer to vector of vertices.normals
- [in] pointer to vector of normals.
-
IndexedTriMeshN0
public IndexedTriMeshN0(SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_double_t_t_t vertices, SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_double_t_t_t normals, SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__geometry__IndexedTriangleT_uint16_t_t_t_t triangles)
constructor- Parameters:
vertices
- [in] pointer to vector of vertices.normals
- [in] pointer to vector of normals (expects same length as either
vertices or triangles).triangles
- [in] pointer to array of triangles.
-
IndexedTriMeshN0
public IndexedTriMeshN0(SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_double_t_t_t vertices, SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__geometry__IndexedTriangleT_uint16_t_t_t_t triangles)
constructor- Parameters:
vertices
- [in] pointer to vector of vertices.triangles
- [in] pointer to array of triangles.
-
IndexedTriMeshN0
public IndexedTriMeshN0(IndexedTriMeshN0 mesh)
Make deep copy of mesh.- Parameters:
mesh
- [in] the mesh to copy.
-
-
Method Detail
-
getCPtr
public static long getCPtr(IndexedTriMeshN0 obj)
-
delete
public void delete()
- Overrides:
delete
in classIndexedTriMesh
-
getVertexNormal
public Vector3D getVertexNormal(long i, VertexIdx vidx)
Description copied from class:IndexedTriMesh
Get normal of vertex vidx of triangle at index i.- Overrides:
getVertexNormal
in classIndexedTriMesh
- Parameters:
i
- [in] the index of the triangle.vidx
- [in] the triangle vertex.- Returns:
- reference to normal vector.
Warning: Using the virtual function comes with a performance penalty.
If possible, use functions implemented on subtypes directly.
-
getVertex
public Vector3D getVertex(long i, VertexIdx vidx)
Description copied from class:IndexedTriMesh
get vertex vidx of triangle at index i.- Overrides:
getVertex
in classIndexedTriMesh
- Parameters:
i
- [in] the index of the trianglevidx
- [in] the index of the triangle vertex- Returns:
- reference to vertex.
Warning: Using the virtual function comes with a performance penalty.
If possible, use functions implemented on subtypes directly (like
IndexedTriMeshN0::getTriVertex).
-
getIndexedTriangle
public IndexedTriangle_32 getIndexedTriangle(long i)
Description copied from class:IndexedTriMesh
get the indexed triangle at index i- Overrides:
getIndexedTriangle
in classIndexedTriMesh
- Parameters:
i
- [in] the index of the triangle- Returns:
- an indexed triangle
Warning: Using the virtual function comes with a performance penalty.
If possible, use functions implemented on subtypes directly.
-
getTriangle
public Triangle getTriangle(long i)
Description copied from class:TriMesh
gets the triangle at index idx.- Overrides:
getTriangle
in classTriMesh
- Parameters:
i
- [in] the index of the triangle.- Returns:
- the triangle at index idx
-
getTriangle
public void getTriangle(long i, Triangle dst)
Description copied from class:TriMesh
gets the triangle at index idx.- Overrides:
getTriangle
in classTriMesh
- Parameters:
i
- [in] the index of the triangle.dst
- [out] where to store the triangle at index idx
-
getTriangle
public void getTriangle(long i, Triangle_f dst)
Description copied from class:TriMesh
gets the triangle at index idx. Using Floating point presicion- Overrides:
getTriangle
in classTriMesh
- Parameters:
i
- [in] the index of the triangle.dst
- [out] where to store the triangle at index idx
-
add
public void add(IndexedTriangle triangle)
Add indexed triangle to the triangle mesh.- Parameters:
triangle
- [in] the indexed triangle to add.
-
getTriVertex
public Vector3D getTriVertex(long i, long triIdx)
get vertex i of triangle at index triIdx.- Parameters:
i
- [in] should be in interval [0;2]triIdx
- [in] index of triangle in the triangle mesh- Returns:
- a reference to the given vertex.
-
getTriangles
public VectorIndexedTriangle getTriangles()
get triangle list- Returns:
- vector of triangles
-
get
public IndexedTriangle get(long i)
-
set
public void set(long i, IndexedTriangle d)
-
calcFaceArea
public double calcFaceArea(long triIdx)
calculate area of triangle at index triIdx- Returns:
- the area.
-
calcFaceCentroid
public Vector3D calcFaceCentroid(long triIdx)
calculate centroid of triangle at index triIdx- Returns:
- the centroid.
-
calcFaceNormal
public Vector3D calcFaceNormal(long triIdx)
calculate face normal of triangle at index triIdx- Returns:
- the face normal.
-
resize
public void resize(long nsize)
Set the number of triangles in the mesh.- Parameters:
nsize
- [in] the new size of the mesh.
-
getNrTris
public int getNrTris()
Description copied from class:IndexedTriMesh
The number of triangles in the mesh- Overrides:
getNrTris
in classIndexedTriMesh
- Returns:
- nr of triangles
-
getSize
public long getSize()
Description copied from class:TriMesh
gets the number of triangles in the triangle array.
-
clone
public TriMeshPtr clone()
Description copied from class:TriMesh
make a clone of this triangle mesh
-
-