Esempio n. 1
0
void CustomVisualizer::setDocumentPath(const std::string& path)
{
	m_docPath.setValue(path);

	const auto realPath = panda::helper::system::DataRepository.findFile(path);
	auto doc = panda::serialization::readFile(realPath, parentDocument()->getGUI());
	std::unique_ptr<panda::VisualizerDocument> visuDoc;
	auto visuDocRaw = dynamic_cast<panda::VisualizerDocument*>(doc.get());
	if (visuDocRaw)
	{
		visuDoc.reset(visuDocRaw);
		doc.release();
	}
	else
		throw helper::Exception("CustomVisualizer needs a VisualizerDocument");

	m_initialized = false;
	m_visualizerDocument = std::move(visuDoc);
	m_inputData = DataFactory::create(m_visualizerDocument->visualizerType(),
									  "input",
									  "The data to visualize on the graph view",
									  this);

	m_visualizedData = m_inputData.get();
	addData(m_inputData.get());
	addInput(*m_inputData);

	m_docInputData = m_visualizerDocument->getData("visualizerData");
}
Esempio n. 2
0
void LayerContainer::insertLayerRaw(Layer* layer, int index)
{
    if ( layer->parentDocument() != parentDocument() )
        parentDocument()->registerElement(layer);

    onInsertLayer(layer);

    if ( index < 0 || index >= layers_.size() )
        layers_.append(layer);
    else
        layers_.insert(index, layer);

    connect(layer, &LayerContainer::layerAdded, this, &LayerContainer::layerAdded);
    connect(layer, &LayerContainer::layerRemoved, this, &LayerContainer::layerRemoved);

    emit layerAdded(layer, this, index);
}
Esempio n. 3
0
DocumentInit::DocumentInit(const KURL& url, Frame* frame, WeakPtr<Document> contextDocument, HTMLImport* import)
    : m_url(url)
    , m_frame(frame)
    , m_parent(parentDocument(frame))
    , m_owner(ownerDocument(frame))
    , m_contextDocument(contextDocument)
    , m_import(import)
    , m_createNewRegistrationContext(false)
{
}
Esempio n. 4
0
DocumentInit::DocumentInit(const KURL& url, LocalFrame* frame, WeakPtrWillBeRawPtr<Document> contextDocument, HTMLImportsController* importsController)
    : m_url(url)
    , m_frame(frame)
    , m_parent(parentDocument(frame))
    , m_owner(ownerDocument(frame))
    , m_contextDocument(contextDocument)
    , m_importsController(importsController)
    , m_createNewRegistrationContext(false)
    , m_shouldReuseDefaultView(frame && frame->shouldReuseDefaultView(url))
{
}
Esempio n. 5
0
	virtual void onInitParticles(Particles& particles)
	{
		const float time = parentDocument()->getAnimationTime();
		int oldNb = birth.size();
		int newNb = oldNb + particles.size();
		birth.resize(newNb);

		std::uniform_real_distribution<float> dist(0, variation.getValue());
		for(int i=oldNb; i<newNb; ++i)
			birth[i] = time - dist(gen);	// Giving them negative age based on the variation value
	}
Esempio n. 6
0
bool LayerContainer::removeLayer(Layer* layer)
{
    int index = layerIndex(layer);

    if ( index < 0 || index > layers_.size() )
        return false;

    parentDocument()->pushCommand(new command::RemoveLayer(
        tr("Remove Layer"), this, layer, index
    ));

    return true;
}
Esempio n. 7
0
	virtual Indices filterParticles(const Particles&)
	{
		Indices indices;

		const float time = parentDocument()->getAnimationTime();
		int nb = birth.size();
		float age = maxAge.getValue();
		for(int i=0; i<nb; ++i)
		{
			if(time >= birth[i] + age)
				indices.insert(i);
		}

		return indices;
	}
Esempio n. 8
0
void LayerContainer::insertLayer(document::Layer* layer, int index)
{
    parentDocument()->pushCommand(new command::AddLayer(
        tr("Add Layer"), this, layer, index
    ));
}