Using pivy_trackers requires writing a custom tracker that manages the data and the geometry you're most concerned about.
A basic tracker is fairly simple to implement.
Code: Select all
import FreeCADGui as Gui
from pivy_trackers.tracker.line_tracker import LineTracker
from pivy_trackers.tracker.context_tracker import ContextTracker
class GeoRefTracker(ContextTracker):
"""
Test georeferencing
"""
def __init__(self, coords):
"""
Constructor
"""
super().__init__('geo_ref_tracker', Gui.ActiveDocument.ActiveView)
self.system = ['UTM', 'Z35', 'FLAT']
self.position = (4275011518.128912, 507510589.4751387, 0.0)
self.view_state.set_geo_reference(self.system, self.position)
self.line_tracker = LineTracker('GEO_LINE_TRACKER', coords, parent, is_geo=True)
self.line_tracker.set_geo_reference(self.system, self.position)
self.base.set_visibility()
self.insert_into_scenegraph(verbose=True)
No doubt there's other things to improve / do to make this better.