public static IVisual GetVisual(string topic, string rosMessageName, MessageSubtopic subtopic) { IVisualFactory factory = VisualFactoryRegistry.GetVisualFactory(topic, rosMessageName, subtopic); if (factory == null) { return(null); } return(factory.GetOrCreateVisual(topic)); }
public IVisualFactory GetVisualFactory() { if (m_CachedRosMessageName != RosMessageName) { // if the topic has changed, discard our cached data m_VisualFactory = null; m_NoVisualFactoryAvailable = false; } if (m_VisualFactory == null && !m_NoVisualFactoryAvailable) { SetVisualFactory(VisualFactoryRegistry.GetVisualFactory(Topic, RosMessageName, Subtopic)); } return(m_VisualFactory); }
public static IVisual GetVisual(string topic, MessageSubtopic subtopic = MessageSubtopic.Default) { RosTopicState topicState = ROSConnection.GetOrCreateInstance().GetTopic(topic); if (topicState != null && subtopic == MessageSubtopic.Response) { topicState = topicState.ServiceResponseTopic; } if (topicState == null) { return(null); } IVisualFactory factory = VisualFactoryRegistry.GetVisualFactory(topic, topicState.RosMessageName, subtopic); if (factory == null) { return(null); } return(factory.GetOrCreateVisual(topic)); }