Package com.gaia3d.basic.halfedge
Class HalfEdgeSurface
java.lang.Object
com.gaia3d.basic.halfedge.HalfEdgeSurface
- All Implemented Interfaces:
Serializable
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublecalculateBoundingBox(GaiaBoundingBox resultBBox) voidvoidvoidvoidbooleanbooleanvoidclassifyFacesIdByPlane(PlaneType planeType, org.joml.Vector3d planePosition) clone()cloneByClassifyId(int classifyId) cloneByClassifyId_original(int classifyId) booleancollapseFace(HalfEdgeFace face) cutByPlane(PlaneType planeType, org.joml.Vector3d planePosition, double error, Map<HalfEdgeVertex, Integer> memSaveVertexIndexMap) voidcutByPlane_original(PlaneType planeType, org.joml.Vector3d planePosition, double error) intintdeleteDegeneratedFaces(Map<HalfEdgeFace, List<HalfEdge>> mapFaceToHalfEdges) voiddeleteFacesWithClassifyId(int classifyId) voiddeleteFacesWithNoClassifyId(int classifyId) intvoidbooleanexistNoUsedVertices(List<HalfEdgeVertex> noUsedVertices) booleangetDirty()intgetHalfEdgesSortedByLength(List<HalfEdge> resultHalfEdgesSortedByLength) int[]voidgetIntersectedFacesByPlane(PlaneType planeType, org.joml.Vector3d planePosition, List<HalfEdgeFace> resultFaces, double error) getMapClassifyIdToCameraDirectionTypeToFaces(Map<Integer, Map<CameraDirectionType, List<HalfEdgeFace>>> mapFaceGroupByClassifyIdAndObliqueCamDirType) getMapFaceToHalfEdges(Map<HalfEdgeFace, List<HalfEdge>> resultMapFaceToHalfEdges) getMapHalfEdgeToDirection(Map<HalfEdge, org.joml.Vector3d> resultMapHalfEdgeToDirection) Map<org.joml.Vector3d, List<HalfEdgeVertex>> getMapPositionToVertices(Map<org.joml.Vector3d, List<HalfEdgeVertex>> resultMapPositionToVertices) getMapVertexAllFaces(Map<HalfEdgeVertex, List<HalfEdgeFace>> resultVertexAllFacesMap) getMapVertexAllOutingEdges(Map<HalfEdgeVertex, List<HalfEdge>> resultVertexAllOutingEdgesMap) getTexCoordinateBoundingRectangle(GaiaRectangle resultRectangle) intvoidgetWestEastSouthNorthVertices(GaiaBoundingBox bbox, List<HalfEdgeVertex> westVertices, List<HalfEdgeVertex> eastVertices, List<HalfEdgeVertex> southVertices, List<HalfEdgeVertex> northVertices, double error) voidjoinSurface(HalfEdgeSurface newSurface) mergeWeldedFacesGroupsByTexCoords(List<List<HalfEdgeFace>> weldedFacesGroups, List<List<HalfEdgeFace>> resultWeldedFacesGroups) voidvoidscissorTextures(GaiaMaterial material) voidscissorTexturesByMotherScene(GaiaMaterial material, GaiaMaterial motherMaterial) voidvoidvoidvoidsetTwins()voidsetTwinsBetweenHalfEdges(List<HalfEdge> halfEdges) voidbooleanvoidtransformPoints(org.joml.Matrix4d finalMatrix) voidtranslate(org.joml.Vector3d translation) voidvoidvoidweldVertices(double error, boolean checkTexCoord, boolean checkNormal, boolean checkColor, boolean checkBatchId)
-
Constructor Details
-
HalfEdgeSurface
public HalfEdgeSurface()
-
-
Method Details
-
setTwins
public void setTwins() -
calculatePlaneNormals
public void calculatePlaneNormals() -
calculateNormals
public void calculateNormals() -
deleteObjects
public void deleteObjects() -
getMapHalfEdgeToDirection
-
getMapPositionToVertices
public Map<org.joml.Vector3d,List<HalfEdgeVertex>> getMapPositionToVertices(Map<org.joml.Vector3d, List<HalfEdgeVertex>> resultMapPositionToVertices) -
getMapFaceToHalfEdges
public Map<HalfEdgeFace,List<HalfEdge>> getMapFaceToHalfEdges(Map<HalfEdgeFace, List<HalfEdge>> resultMapFaceToHalfEdges) -
getHalfEdgesSortedByLength
-
deleteDegeneratedFaces
-
deleteDegeneratedFaces
public int deleteDegeneratedFaces() -
deleteNoUsedVertices
public int deleteNoUsedVertices() -
removeDeletedObjects
public void removeDeletedObjects() -
setObjectIdsInList
public void setObjectIdsInList() -
setItselfAsOutingHalfEdgeToTheStartVertex
public void setItselfAsOutingHalfEdgeToTheStartVertex() -
getMapVertexAllFaces
public Map<HalfEdgeVertex,List<HalfEdgeFace>> getMapVertexAllFaces(Map<HalfEdgeVertex, List<HalfEdgeFace>> resultVertexAllFacesMap) -
getMapVertexAllOutingEdges
public Map<HalfEdgeVertex,List<HalfEdge>> getMapVertexAllOutingEdges(Map<HalfEdgeVertex, List<HalfEdge>> resultVertexAllOutingEdgesMap) -
collapseFace
-
setTwinsBetweenHalfEdges
-
transformPoints
public void transformPoints(org.joml.Matrix4d finalMatrix) -
calculateBoundingBox
-
getBoundingBox
-
cutByPlane
public PlaneCutResult cutByPlane(PlaneType planeType, org.joml.Vector3d planePosition, double error, Map<HalfEdgeVertex, Integer> memSaveVertexIndexMap) -
cutByPlane_original
-
checkHalfEdgesFaces
public boolean checkHalfEdgesFaces() -
checkTwins
public boolean checkTwins() -
classifyFacesIdByPlane
-
deleteFacesWithClassifyId
public void deleteFacesWithClassifyId(int classifyId) -
calculateVertices
public void calculateVertices() -
deleteFacesWithNoClassifyId
public void deleteFacesWithNoClassifyId(int classifyId) -
existNoUsedVertices
-
cloneByClassifyId
-
cloneByClassifyId_original
-
clone
-
scissorTextures
-
scissorTexturesByMotherScene
-
mergeWeldedFacesGroupsByTexCoords
public List<List<HalfEdgeFace>> mergeWeldedFacesGroupsByTexCoords(List<List<HalfEdgeFace>> weldedFacesGroups, List<List<HalfEdgeFace>> resultWeldedFacesGroups) -
getTrianglesCount
public int getTrianglesCount() -
setBoxTexCoordsXY
-
changeOutingHEdgesOfVertexIfHEdgeIsDeleted
public void changeOutingHEdgesOfVertexIfHEdgeIsDeleted() -
weldVertices
public void weldVertices(double error, boolean checkTexCoord, boolean checkNormal, boolean checkColor, boolean checkBatchId) -
translate
public void translate(org.joml.Vector3d translation) -
getIndices
public int[] getIndices() -
getDirty
public boolean getDirty() -
joinSurface
-
getMapClassifyIdToCameraDirectionTypeToFaces
public Map<Integer,Map<CameraDirectionType, getMapClassifyIdToCameraDirectionTypeToFacesList<HalfEdgeFace>>> (Map<Integer, Map<CameraDirectionType, List<HalfEdgeFace>>> mapFaceGroupByClassifyIdAndObliqueCamDirType) -
splitFacesByBestObliqueCameraDirectionToProject
public void splitFacesByBestObliqueCameraDirectionToProject() -
updateFacesList
public void updateFacesList() -
updateVerticesList
public void updateVerticesList() -
getWestEastSouthNorthVertices
public void getWestEastSouthNorthVertices(GaiaBoundingBox bbox, List<HalfEdgeVertex> westVertices, List<HalfEdgeVertex> eastVertices, List<HalfEdgeVertex> southVertices, List<HalfEdgeVertex> northVertices, double error) -
calculateArea
public double calculateArea() -
getTexCoordinateBoundingRectangle
-
getFacesCount
public int getFacesCount() -
getIntersectedFacesByPlane
public void getIntersectedFacesByPlane(PlaneType planeType, org.joml.Vector3d planePosition, List<HalfEdgeFace> resultFaces, double error) -
TEST_checkTexCoords
public boolean TEST_checkTexCoords()
-