Path: blob/main/src/netimport/vissim/tempstructs/NIVissimNodeDef.h
169684 views
/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2002-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file NIVissimNodeDef.h14/// @author Daniel Krajzewicz15/// @author Michael Behrisch16/// @date Sept 200217///18// -------------------19/****************************************************************************/20#pragma once21#include <config.h>2223#include <string>24#include <map>25#include <utils/geom/Boundary.h>26#include "NIVissimExtendedEdgePointVector.h"27#include "NIVissimNodeCluster.h"282930class NIVissimNodeDef {31public:32NIVissimNodeDef(int id, const std::string& name);33virtual ~NIVissimNodeDef();34int buildNodeCluster();35// virtual void computeBounding() = 0;36// bool partialWithin(const AbstractPoly &p, double off=0.0) const;37// virtual void searchAndSetConnections() = 0;38virtual double getEdgePosition(int edgeid) const = 0;3940public:41static bool dictionary(int id, NIVissimNodeDef* o);42static NIVissimNodeDef* dictionary(int id);43// static std::vector<int> getWithin(const AbstractPoly &p, double off=0.0);44// static void buildNodeClusters();45// static void dict_assignConnectionsToNodes();46static void clearDict();47static int getMaxID();48protected:49int myID;50std::string myName;5152private:53typedef std::map<int, NIVissimNodeDef*> DictType;54static DictType myDict;55static int myMaxID;56};575859