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 voidadd(IndexedTriangle triangle)Add indexed triangle to the triangle mesh.doublecalcFaceArea(long triIdx)calculate area of triangle at index triIdxVector3DcalcFaceCentroid(long triIdx)calculate centroid of triangle at index triIdxVector3DcalcFaceNormal(long triIdx)calculate face normal of triangle at index triIdxTriMeshPtrclone()make a clone of this triangle meshvoiddelete()IndexedTriangleget(long i)static longgetCPtr(IndexedTriMeshN0 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 listVector3DgetTriVertex(long i, long triIdx)get vertex i of triangle at index triIdx.Vector3DgetVertex(long i, VertexIdx vidx)get vertex vidx of triangle at index i.Vector3DgetVertexNormal(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
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:
deletein classIndexedTriMesh
-
getVertexNormal
public Vector3D getVertexNormal(long i, VertexIdx vidx)
Description copied from class:IndexedTriMeshGet normal of vertex vidx of triangle at index i.- Overrides:
getVertexNormalin 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:IndexedTriMeshget vertex vidx of triangle at index i.- Overrides:
getVertexin 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:IndexedTriMeshget the indexed triangle at index i- Overrides:
getIndexedTrianglein 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: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 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:IndexedTriMeshThe number of triangles in the mesh- Overrides:
getNrTrisin classIndexedTriMesh- 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
-
-