Package org.robwork.sdurw_geometry
Class IndexedTriMeshN0_f
- java.lang.Object
-
- org.robwork.sdurw_geometry.GeometryData
-
- org.robwork.sdurw_geometry.TriMesh
-
- org.robwork.sdurw_geometry.IndexedTriMesh_f
-
- org.robwork.sdurw_geometry.IndexedTriMeshN0_f
-
public class IndexedTriMeshN0_f extends IndexedTriMesh_f
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.float
calcFaceArea(long triIdx)
calculate area of triangle at index triIdxVector3Df
calcFaceCentroid(long triIdx)
calculate centroid of triangle at index triIdxVector3Df
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_f 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 listVector3Df
getTriVertex(long i, long triIdx)
get vertex i of triangle at index triIdx.Vector3Df
getVertex(long i, VertexIdx vidx)
get vertex vidx of triangle at index i.Vector3Df
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_f
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_f
public IndexedTriMeshN0_f(long cPtr, boolean cMemoryOwn)
-
IndexedTriMeshN0_f
public IndexedTriMeshN0_f()
Constructor
-
IndexedTriMeshN0_f
public IndexedTriMeshN0_f(SWIGTYPE_p_std__vectorT_rw__math__Vector3DT_float_t_t vertices)
constructor - ownership of the vertice array is taken- Parameters:
vertices
- [in] pointer to vector of vertices.
-
IndexedTriMeshN0_f
public IndexedTriMeshN0_f(SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_float_t_t_t vertices, SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_float_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_f
public IndexedTriMeshN0_f(SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_float_t_t_t vertices, SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_float_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_f
public IndexedTriMeshN0_f(SWIGTYPE_p_rw__core__PtrT_std__vectorT_rw__math__Vector3DT_float_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_f
public IndexedTriMeshN0_f(IndexedTriMeshN0_f mesh)
Make deep copy of mesh.- Parameters:
mesh
- [in] the mesh to copy.
-
-
Method Detail
-
getCPtr
public static long getCPtr(IndexedTriMeshN0_f obj)
-
delete
public void delete()
- Overrides:
delete
in classIndexedTriMesh_f
-
getVertexNormal
public Vector3Df getVertexNormal(long i, VertexIdx vidx)
Description copied from class:IndexedTriMesh_f
Get normal of vertex vidx of triangle at index i.- Overrides:
getVertexNormal
in classIndexedTriMesh_f
- 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 Vector3Df getVertex(long i, VertexIdx vidx)
Description copied from class:IndexedTriMesh_f
get vertex vidx of triangle at index i.- Overrides:
getVertex
in classIndexedTriMesh_f
- 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_f
get the indexed triangle at index i- Overrides:
getIndexedTriangle
in classIndexedTriMesh_f
- 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 Vector3Df 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 float calcFaceArea(long triIdx)
calculate area of triangle at index triIdx- Returns:
- the area.
-
calcFaceCentroid
public Vector3Df calcFaceCentroid(long triIdx)
calculate centroid of triangle at index triIdx- Returns:
- the centroid.
-
calcFaceNormal
public Vector3Df 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_f
The number of triangles in the mesh- Overrides:
getNrTris
in classIndexedTriMesh_f
- 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
-
-