هل هناك مكتبة جيدة لمكتبة تخطيط الرسم البياني من C ++؟
-
22-09-2019 - |
سؤال
تمثل الرسوم البيانية (الموجه) الأوتوماتا المحدودة. حتى الآن ، كان برنامج الاختبار الخاص بي يكتب ملفات نقطة للاختبار. هذا جيد جدًا لاختبار الانحدار (حافظ على ملفات الإخراج التي تم التحقق منها في Subversion ، واسألها عما إذا كان هناك تغيير) وللتصور. ومع ذلك، هناك بعض المشاكل...
في الأساس ، أريد شيئًا قابلاً للاتصال من C ++ والذي يخطط لتصميم لحالتي والتحولات ولكن يترك الرسم لي - وهو شيء يسمح لي برسم الأشياء ، كما أريد وأرسم على نوافذ واجهة المستخدم الرسومية (WXWidgets).
أريد أيضًا ترخيصًا سيسمح للاستخدام التجاري - لست بحاجة إلى ذلك في الوقت الحالي ، وقد أفرج جيدًا كمصدر مفتوح ، لكنني لا أريد الحد من خيارات أجهزة الصراف الآلي.
إن المشكلات المتعلقة بـ GraphViz هي (1) التحذيرات حول البناء من المصدر على Windows ، (2) جميع التبعيات غير الضرورية لتقديمها و (3) عدم وجود واجهة برمجة تطبيقات موثقة على وجه التحديد ومحض للتخطيط.
في الأساس ، أريد أن أكون قادرًا على تحديد حالاتي (مع أحجام المستطيلات المحيطة) والتحولات ، وقراءة المواقف للحالات ونقاط الطريق لكل عملية انتقال ، ثم ارسم بناءً على تلك التحسس بنفسي. لم أحسب حقًا كيف ينبغي التعامل مع التعليقات التوضيحية حول التحولات ، ولكن يجب أن يكون هناك نوع من التوفير لتحديد أحجام الصناديق المحيطة بهؤلاء ، وربطها بالتحولات ، وقراءة المواقف.
هل يعرف أي شخص مكتبة يمكنها التعامل مع هذه المتطلبات؟
أنا لست بالضرورة ضد تنفيذ شيء لنفسي ، لكن في هذه الحالة أفضل تجنب ذلك إن أمكن.
المحلول 4
على الرغم من أن الإجابات حتى الآن كانت تستحق التصويت ، إلا أنني لا أستطيع قبول أي منها حقًا. ما زلت أبحث ، رغم ذلك.
شيء واحد وجدته Aglo. الكود هو GPL V1 ، ولكن هناك أوراق تصف الخوارزميات ، لذلك يجب أن يكون سهلاً بما يكفي لإعادة التنفيذ من نقطة الصفر إذا لزم الأمر.
هناك أيضًا ورقة لـ Gansner و Koutsofios و North و Vo - "تقنية لرسم الرسوم البيانية" - متوفرة من هنا على موقع GraphViz.
لقد كنت أبحث عن كثب في المرخصة من BSD (لكن Java) jgraph.
بطريقة أو بأخرى ، يبدو أنني قد أعيد تنفيذ العجلة ، إن لم يكن إعادة اختراعها فعليًا.
نصائح أخرى
hmm ، gdtoolkit (أو gdt) تبدو بخير: العديد من الصور في درس تعليمي تبدو جميلة جدًا ، ولا يبدو أنها معقدة للغاية للاستخدام.
تحرير: لكن التحقق من الترخيص ، يبدو أنه برنامج تجاري :-(. يصيح!
كنت أتعامل مع مشكلة مماثلة في وقت سابق من هذا العام. ومعلمة الإدخال المهمة لقرار ما هو العدد المتوقع من العقد.
قررت استخدام المتصفح كجوي ، وبالتالي بحثت عن مكتبات JavaScript لطيفة ، كانت إحداها سلكية, ، إنه مناسب جدًا للتخطيطات الفنية (وأيضًا التحرير مع السحب والإسقاط وتخطيط "On the Fly"). يمكنك بسهولة توصيل ذلك بـ C ++ الخاص بك عن طريق تشغيل خادم ويب صغير في موضوع (ستحتاج إلى نوع من ThingLoop/Thread thingie لـ GUI على أي حال).
حسنا فقط 2 سنت.
فيما يلي مجموعة جيدة من libs الرسم البياني مع وظائف المقارنة والبحث:
http://gvsr.polytech.univ-nantes.fr/gvsr/task؟action=browse#
ربما تجد lib الذي يناسبك.