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 voidadd(IndexedTriangle triangle)Add indexed triangle to the triangle mesh.floatcalcFaceArea(long triIdx)calculate area of triangle at index triIdxVector3DfcalcFaceCentroid(long triIdx)calculate centroid of triangle at index triIdxVector3DfcalcFaceNormal(long triIdx)calculate face normal of triangle at index triIdxTriMeshPtrclone()make a clone of this triangle meshvoiddelete()IndexedTriangleget(long i)static longgetCPtr(IndexedTriMeshN0_f obj)IndexedTriangle_32getIndexedTriangle(long i)get the indexed triangle at index iintgetNrTris()The number of triangles in the meshlonggetSize()gets the number of triangles in the triangle array.TrianglegetTriangle(long i)gets the triangle at index idx.voidgetTriangle(long i, Triangle dst)gets the triangle at index idx.voidgetTriangle(long i, Triangle_f dst)gets the triangle at index idx.VectorIndexedTrianglegetTriangles()get triangle listVector3DfgetTriVertex(long i, long triIdx)get vertex i of triangle at index triIdx.Vector3DfgetVertex(long i, VertexIdx vidx)get vertex vidx of triangle at index i.Vector3DfgetVertexNormal(long i, VertexIdx vidx)Get normal of vertex vidx of triangle at index i.voidresize(long nsize)Set the number of triangles in the mesh.voidset(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:
deletein classIndexedTriMesh_f
-
getVertexNormal
public Vector3Df getVertexNormal(long i, VertexIdx vidx)
Description copied from class:IndexedTriMesh_fGet normal of vertex vidx of triangle at index i.- Overrides:
getVertexNormalin 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_fget vertex vidx of triangle at index i.- Overrides:
getVertexin 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_fget the indexed triangle at index i- Overrides:
getIndexedTrianglein 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:TriMeshgets the triangle at index idx.- Overrides:
getTrianglein 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:TriMeshgets the triangle at index idx.- Overrides:
getTrianglein 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:TriMeshgets the triangle at index idx. Using Floating point presicion- Overrides:
getTrianglein 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_fThe number of triangles in the mesh- Overrides:
getNrTrisin classIndexedTriMesh_f- Returns:
- nr of triangles
-
getSize
public long getSize()
Description copied from class:TriMeshgets the number of triangles in the triangle array.
-
clone
public TriMeshPtr clone()
Description copied from class:TriMeshmake a clone of this triangle mesh
-
-