You are here: Menu Commands > Solids > Edit trisolation > Optimise
GEOVIA Surpac

Trisolation optimise

This function allows you to optimise the number of triangles in a trisolation. TRISOLATION OPTIMISE takes an input trisolation and filters it so that the new version of the trisolation has as few triangles as possible while still ensuring that the new trisolation surface always remains within a user-specified tolerance distance of the original surface. That is, the larger the tolerance distance input the more triangles will be removed but less geometric integrity will be retained.

To run this function: Choose Solids > Edit trisolation > Optimise, or...

  • In the Function Chooser, type TRISOLATION OPTIMISE, and press ENTER.

The magnitude of the distance tolerance you should use will depend on the units of the triangle vertex coordinates in the string file. For example, if these are in metres and you enter 0.5 as the tolerance distance then a new filtered trisolation will be formed with less triangles but ensuring that the new surface is always within 50cm of the original surface.

This function requires the neighbours of the input trisolation to have been set and to have VALIDATED=TRUE (although to accommodate historical trisolations an unset VALIDATED flag will be allowed (with a warning issued) if the direction of the input trisolation has been set). The input trisolation may be open or closed.

Note: If the distance tolerance chosen was too large or the input trisolation had an area with very complex geometry, the result trisolation may show as having self-intersections or invalid edges when validated using the Neighbours and Validate TRISOLATION function. If this occurs you are advised to delete the problem triangles using the EDIT 3DM tools.

If invalid edges have occurred you will typically find that this is because the optimisation has created a small closed 'separate solid' hanging on to the main trisolation by one edge. This can be verified visually by windowing in on the problem area and turning the trisolation faces off but keeping the edges on. You can safely delete all the triangles in this 'separate solid' without affecting the integrity of the main trisolation.

If self-intersections have occurred you should use the POINT Move function to move the offending triangle vertices until the self-intersections no longer occur. Failing this you can repeat the optimisation with a smaller distance tolerance.

This function is not suitable for optimising digital terrain models (DTMs) created using the Create DTM function in DTM TOOLS. This is because the triangles of the result trisolation will not necessarily have a consistent direction (an essential property for digital terrain models).

This function will be useful in optimising trisolations, for example, Cavity Monitoring System data sets, which contain a great number of triangles while still retaining the geometric form of the trisolation.

Select the trisolation to be optimised

Position the pointer and select the trisolation which is to be optimised.

Selection of the trisolation will display the OPTIMISATION TOLERANCE form.

Tolerance distance

Enter the tolerance distance for the optimisation.

Complete the OPTIMISATION TOLERANCEform and choose Apply to perform the function.

Messages

Calculations are commencing - Please wait

A progress bar is displayed while the optimisation is being performed.

Filter information: started with xxx triangles, yyy where filtered out (ie zzz% were removed)

Redrawing trisolation, please wait...

Result

The function updates the screen with the new optimised trisolation. The result is an optimised version of the input trisolation, it has the same object and trisolation number. The result trisolation is not saved to a file automatically. To do so you must save using Save File. The function does not add, delete or move any points in the strings or segments, it merely uses less of the same original points. The boundary of open trisolations remains unaltered. To validate and set the direction of the result trisolation use the Neighbours and Validate TRISOLATION and Set Direction TRISOLATION functions respectively.

The FILTER TRISOLATION Optimise function does not delete the unused points from the current graphics layer, so if you save the result to a file you will find that your string file still contains all the original points. To delete these unused points use the Cleanup 3DM function.

Warnings

If the input trisolation has an unset VALIDATION flag but the direction has been set, the WARNING: 3DM NOT YET FORMALLY VALIDATED form is displayed (this is to allow for historical trisolations):

The point selected is not in the working layer and cannot be edited

Only trisolations which are in the active layer can be optimised. You have selected a trisolation which is not in the active layer.

The neighbours of the trisolation have not been set

The trisolation chosen has not been formally validated

The trisolation chosen has VALIDATED=FALSE

To set the neighbours and validate a trisolation use the function Neighbours and Validate TRISOLATION. This function can be found in the VALIDATE submenu of the SOLIDS menu.