Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Kinetic Datastructures, Regular Triangulation 3, Static Updates with only static points

Subject: CGAL users discussion list

List archive

[cgal-discuss] Kinetic Datastructures, Regular Triangulation 3, Static Updates with only static points


Chronological Thread 
  • From: Timo Strunk <>
  • To:
  • Subject: [cgal-discuss] Kinetic Datastructures, Regular Triangulation 3, Static Updates with only static points
  • Date: Thu, 09 Jul 2009 14:02:14 +0200

Hi everybody,

Currently I am trying to use the Regular Triangulation 3 class from the Kinetic Data Structures package.
The examples show a usage for points with a continuous trajectory, which are read in using a stream directly from a file.

The main difference to my problem is that I have no continuous movement, but rather static snapshots, which however resemble themselves to a high degree: I don't have a continuous time. My biggest hope was therefore to use the Kinetic RT class in a way, where I can prepare the coordinates by hand each step and just tell it to afterwards recalculate.

I didn't find this in the manual - is it possible? Here is how I would try to do it:

First of all, I will set is_editing to true

Into the active objects table, I would insert:
Traits::Static_kernel::Weighted_point_3 Weighted_point
instead of
Traits::Kinetic_kernel::Weighted_point_3 Weighted_point
via mot.insert (my_static_weighted_point), where mot is an Active Objects Table
(documented here - the documentation is a bit off, because it is insert instead of insert_object, right?):
http://www.cgal.org/Manual/3.4/doc_html/cgal_manual/Kinetic_framework_ref/Concept_Kinetic--ActiveObjectsTable.html#Cross_link_anchor_1576

Then I will set is_editing to false, so the triangulation gets created.

Now whenever points moved, I would set is_editing again, afterwards use mot.set(point_key, data) to the new location of the point and turn off is_editing. The main reason why I write now is that I think there is some flaw in my logic, because of the description of the set function )also from the url above):

"This method changes the motion of one moving object. The position at the current time should not be different from the previous current position. However, at the moment I do not check this as there is no reference to time in the /Kinetic::ActiveObjectsTable <http://www.cgal.org/Manual/3.4/doc_html/cgal_manual/Kinetic_framework_ref/Concept_Kinetic--ActiveObjectsTable.html#Cross_link_anchor_1576>/. If /is_editing()/ is not true, then it is as if the calls /set_is_editing(true)/, /set(key, value)/ and finally /set_is_editing(false)/ were made. If it is true, then no notifications are created. "

Would this work? In the end I am completely missing the time as it was never set, therefore the positions at the same time would also move.

Sorry for the long mail; I'd just like to know, if this is even possible with the current (as it seems continuous) Kinetic RT3 package or not.

Thanks for reading,
Timo

--
Timo Strunk

Forschungszentrum Karlsruhe
Institut für Nanotechnologie
Gebäude 640
Hermann-von-Helmholtz-Platz 1
D-76344 Eggenstein-Leopoldshafen

Tel: +49 7247 828954




Archive powered by MHonArc 2.6.16.

Top of Page