Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ void CylinderVisualModel::doDrawVisual(const core::visual::VisualParams* vparams
}
}

void CylinderVisualModel::exportOBJ(std::string name, std::ostream* out, std::ostream* /*mtl*/, Index& vindex, Index& /*nindex*/, Index& /*tindex*/, int& /*count*/)
void CylinderVisualModel::doExportOBJ(std::string name, std::ostream* out, std::ostream* /*mtl*/, Index& vindex, Index& /*nindex*/, Index& /*tindex*/, int& /*count*/)
{
const VecCoord& x = this->read( core::vec_id::read_access::position )->getValue();
const SeqEdges& edges = d_edges.getValue();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,13 @@ class SOFA_COMPONENT_VISUAL_API CylinderVisualModel :
protected:
CylinderVisualModel();
~CylinderVisualModel() override;
void doExportOBJ(std::string /*name*/, std::ostream* /*out*/, std::ostream* /*mtl*/, Index& /*vindex*/, Index& /*nindex*/, Index& /*tindex*/, int& /*count*/) override;

public:
void init() override;

void doDrawVisual(const core::visual::VisualParams* vparams) override;

void exportOBJ(std::string /*name*/, std::ostream* /*out*/, std::ostream* /*mtl*/, Index& /*vindex*/, Index& /*nindex*/, Index& /*tindex*/, int& /*count*/) override;

private:
Data<float> radius; ///< Radius of the cylinder.
Expand Down
6 changes: 4 additions & 2 deletions Sofa/Component/Visual/src/sofa/component/visual/LineAxis.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,13 @@ class SOFA_COMPONENT_VISUAL_API LineAxis : public core::visual::VisualModel

void init() override;
void reinit() override;
void doDrawVisual(const core::visual::VisualParams*) override;
void doUpdateVisual(const core::visual::VisualParams*) override;
void updateLine();

protected:

void doDrawVisual(const core::visual::VisualParams*) override;
void doUpdateVisual(const core::visual::VisualParams*) override;

bool m_drawX;
bool m_drawY;
bool m_drawZ;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ class TrailRenderer : public core::visual::VisualModel


void handleEvent(core::objectmodel::Event *) override;
void doDrawVisual(const core::visual::VisualParams* vparams) override;
void reset() override;

protected:
Expand All @@ -58,6 +57,7 @@ class TrailRenderer : public core::visual::VisualModel

void storeParticlePositions();
void removeFirstElements();
void doDrawVisual(const core::visual::VisualParams* vparams) override;

type::vector<std::vector<sofa::type::Vec3> > m_trail;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ void Visual3DText::doDrawVisual(const core::visual::VisualParams* vparams)
vparams->drawTool()->draw3DText(pos,scale,d_color.getValue(),d_text.getValue().c_str());
}

void Visual3DText::drawTransparent(const core::visual::VisualParams* vparams)
void Visual3DText::doDrawTransparent(const core::visual::VisualParams* vparams)
{
if(!vparams->displayFlags().getShowVisualModels()) return;
const auto stateLifeCycle = vparams->drawTool()->makeStateLifeCycle();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,14 @@ class SOFA_COMPONENT_VISUAL_API Visual3DText : public core::visual::VisualModel
protected:
Visual3DText();

void doDrawVisual(const core::visual::VisualParams* vparams) override;
void doDrawTransparent(const core::visual::VisualParams* vparams) override;

public:
void init() override;

void reinit() override;

void doDrawVisual(const core::visual::VisualParams* vparams) override;
void drawTransparent(const core::visual::VisualParams* vparams) override;

public:
Data<std::string> d_text; ///< Test to display
Data<type::Vec3> d_position; ///< 3d position
Data<float> d_scale; ///< text scale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,13 +242,13 @@ void VisualModelImpl::doDrawVisual(const core::visual::VisualParams* vparams)
internalDraw(vparams,false);
}

void VisualModelImpl::drawTransparent(const core::visual::VisualParams* vparams)
void VisualModelImpl::doDrawTransparent(const core::visual::VisualParams* vparams)
{
if (hasTransparent())
internalDraw(vparams,true);
}

void VisualModelImpl::drawShadow(const core::visual::VisualParams* vparams)
void VisualModelImpl::doDrawShadow(const core::visual::VisualParams* vparams)
{
if (hasOpaque() && getCastShadow())
internalDraw(vparams, false);
Expand Down Expand Up @@ -606,7 +606,7 @@ void VisualModelImpl::applyUVTransformation()
d_translationTex.setValue(TexCoord(0.f, 0.f));
}

void VisualModelImpl::applyTranslation(const SReal dx, const SReal dy, const SReal dz)
void VisualModelImpl::doApplyTranslation(const SReal dx, const SReal dy, const SReal dz)
{
const Coord d((Real)dx,(Real)dy,(Real)dz);

Expand Down Expand Up @@ -635,13 +635,13 @@ void VisualModelImpl::applyTranslation(const SReal dx, const SReal dy, const SRe
updateVisual(sofa::core::visual::visualparams::defaultInstance());
}

void VisualModelImpl::applyRotation(const SReal rx, const SReal ry, const SReal rz)
void VisualModelImpl::doApplyRotation(const SReal rx, const SReal ry, const SReal rz)
{
const auto q = type::Quat<SReal>::createQuaterFromEuler( Vec3(rx,ry,rz)*M_PI/180.0);
applyRotation(q);
}

void VisualModelImpl::applyRotation(const Quat<SReal> q)
void VisualModelImpl::doApplyRotation(const Quat<SReal> q)
{
Data< VecCoord >* d_x = this->write(core::vec_id::write_access::position);
VecCoord &x = *d_x->beginEdit();
Expand All @@ -668,7 +668,7 @@ void VisualModelImpl::applyRotation(const Quat<SReal> q)
updateVisual(sofa::core::visual::visualparams::defaultInstance());
}

void VisualModelImpl::applyScale(const SReal sx, const SReal sy, const SReal sz)
void VisualModelImpl::doApplyScale(const SReal sx, const SReal sy, const SReal sz)
{
Data< VecCoord >* d_x = this->write(core::vec_id::write_access::position);
VecCoord &x = *d_x->beginEdit();
Expand Down Expand Up @@ -1467,7 +1467,7 @@ void VisualModelImpl::computeMesh()
d_quads.endEdit();
}

void VisualModelImpl::exportOBJ(std::string name, std::ostream* out, std::ostream* mtl, sofa::Index& vindex, sofa::Index& nindex, sofa::Index& tindex, int& count)
void VisualModelImpl::doExportOBJ(std::string name, std::ostream* out, std::ostream* mtl, sofa::Index& vindex, sofa::Index& nindex, sofa::Index& tindex, int& count)
{
*out << "g "<<name<<"\n";

Expand Down
40 changes: 20 additions & 20 deletions Sofa/Component/Visual/src/sofa/component/visual/VisualModelImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ class SOFA_COMPONENT_VISUAL_API VisualModelImpl : public core::visual::VisualMod
/// Rendering method.
virtual void internalDraw(const core::visual::VisualParams* /*vparams*/, bool /*transparent*/) {}

public:
sofa::core::objectmodel::DataFileName d_fileMesh;
sofa::core::objectmodel::DataFileName d_texturename;

Expand All @@ -122,15 +121,6 @@ class SOFA_COMPONENT_VISUAL_API VisualModelImpl : public core::visual::VisualMod
Data< TexCoord > d_scaleTex; ///< Scale of the texture
Data< TexCoord > d_translationTex; ///< Translation of the texture

void applyTranslation(const SReal dx, const SReal dy, const SReal dz) override;

/// Apply Rotation from Euler angles (in degree!)
void applyRotation (const SReal rx, const SReal ry, const SReal rz) override;

void applyRotation(const sofa::type::Quat<SReal> q) override;

void applyScale(const SReal sx, const SReal sy, const SReal sz) override;

virtual void applyUVTransformation();

void applyUVTranslation(const Real dU, const Real dV);
Expand Down Expand Up @@ -205,15 +195,31 @@ class SOFA_COMPONENT_VISUAL_API VisualModelImpl : public core::visual::VisualMod
/// Default destructor.
~VisualModelImpl() override;

/// Append this mesh to an OBJ format stream.
/// The number of vertices position, normal, and texture coordinates already written is given as parameters
/// This method should update them
void doExportOBJ(std::string name, std::ostream* out, std::ostream* mtl, sofa::Index& vindex, sofa::Index& nindex, sofa::Index& tindex, int& count) override;

void doUpdateVisual(const core::visual::VisualParams*) override;

void doDrawVisual(const core::visual::VisualParams* vparams) override;
void doDrawTransparent(const core::visual::VisualParams* vparams) override;
void doDrawShadow(const core::visual::VisualParams* vparams) override;

void doApplyTranslation(const SReal dx, const SReal dy, const SReal dz) override;

/// Apply Rotation from Euler angles (in degree!)
void doApplyRotation (const SReal rx, const SReal ry, const SReal rz) override;

void doApplyRotation(const sofa::type::Quat<SReal> q) override;

void doApplyScale(const SReal sx, const SReal sy, const SReal sz) override;

public:
void parse(core::objectmodel::BaseObjectDescription* arg) override;

virtual bool hasTransparent();
bool hasOpaque();

void doDrawVisual(const core::visual::VisualParams* vparams) override;
void drawTransparent(const core::visual::VisualParams* vparams) override;
void drawShadow(const core::visual::VisualParams* vparams) override;

virtual bool loadTextures() {return false;}
virtual bool loadTexture(const std::string& /*filename*/) { return false; }
Expand Down Expand Up @@ -356,18 +362,12 @@ class SOFA_COMPONENT_VISUAL_API VisualModelImpl : public core::visual::VisualMod
virtual void updateBuffers() {}
virtual void deleteBuffers() {}
virtual void deleteTextures() {}

void doUpdateVisual(const core::visual::VisualParams*) override;

void init() override;
void initFromTopology();
void initPositionFromVertices();
void initFromFileMesh();

/// Append this mesh to an OBJ format stream.
/// The number of vertices position, normal, and texture coordinates already written is given as parameters
/// This method should update them
void exportOBJ(std::string name, std::ostream* out, std::ostream* mtl, sofa::Index& vindex, sofa::Index& nindex, sofa::Index& tindex, int& count) override;

/// Returns the sofa class name. By default the name of the c++ class is exposed...
/// More details on the name customization infrastructure is in NameDecoder.h
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ void VisualTransform::pop(const sofa::core::visual::VisualParams* vparams)
}
}

void VisualTransform::fwdDraw(sofa::core::visual::VisualParams* vparams)
void VisualTransform::doFwdDraw(sofa::core::visual::VisualParams* vparams)
{
push(vparams);
}
Expand All @@ -80,13 +80,13 @@ void VisualTransform::doDrawVisual(const sofa::core::visual::VisualParams* vpara
pop(vparams);
}

void VisualTransform::drawTransparent(const sofa::core::visual::VisualParams* vparams)
void VisualTransform::doDrawTransparent(const sofa::core::visual::VisualParams* vparams)
{
if (!d_recursive.getValue())
pop(vparams);
}

void VisualTransform::bwdDraw(sofa::core::visual::VisualParams* vparams)
void VisualTransform::doBwdDraw(sofa::core::visual::VisualParams* vparams)
{
pop(vparams);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,14 @@ class SOFA_COMPONENT_VISUAL_API VisualTransform : public sofa::core::visual::Vis
protected:
VisualTransform();
~VisualTransform() override;
void doDrawVisual(const sofa::core::visual::VisualParams* vparams) override;
void doDrawTransparent(const sofa::core::visual::VisualParams* vparams) override;
void doFwdDraw(sofa::core::visual::VisualParams* vparams) override;
void doBwdDraw(sofa::core::visual::VisualParams* vparams) override;

public:
void fwdDraw(sofa::core::visual::VisualParams* vparams) override;
void bwdDraw(sofa::core::visual::VisualParams* vparams) override;

void draw(const sofa::core::visual::VisualParams* vparams) override;
void doDrawVisual(const sofa::core::visual::VisualParams* vparams) override;
void drawTransparent(const sofa::core::visual::VisualParams* vparams) override;

Data<Coord> d_transform; ///< Transformation to apply
Data<bool> d_recursive; ///< True to apply transform to all nodes below
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class SOFA_GL_COMPONENT_RENDERING2D_API OglColorMap : public sofa::core::visual:
protected:
OglColorMap();
~OglColorMap() override;
void doDrawVisual(const core::visual::VisualParams* vparams) override;

public:
Data<unsigned int> d_paletteSize; ///< How many colors to use
Expand All @@ -71,7 +72,6 @@ class SOFA_GL_COMPONENT_RENDERING2D_API OglColorMap : public sofa::core::visual:
//void initVisual() { initTextures(); }
//void clearVisual() { }
//void initTextures() {}
void doDrawVisual(const core::visual::VisualParams* vparams) override;
//void drawTransparent(const VisualParams* /*vparams*/)
//void updateVisual();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ class SOFA_GL_COMPONENT_RENDERING2D_API OglLabel : public core::visual::VisualMo

void init() override;
void reinit() override;
void doUpdateVisual(const core::visual::VisualParams*) override;
void doDrawVisual(const core::visual::VisualParams* vparams) override;

void handleEvent(core::objectmodel::Event *) override;

Expand All @@ -66,6 +64,8 @@ class SOFA_GL_COMPONENT_RENDERING2D_API OglLabel : public core::visual::VisualMo
protected:
OglLabel();
~OglLabel() override {}
void doUpdateVisual(const core::visual::VisualParams*) override;
void doDrawVisual(const core::visual::VisualParams* vparams) override;

unsigned int m_stepCounter;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,11 @@ class OglViewport : public core::visual::VisualManager
protected:
OglViewport();
~OglViewport() override;
void doInitVisual(const core::visual::VisualParams*) override;

public:
void init() override;
void draw(const core::visual::VisualParams* vparams) override;
void doInitVisual(const core::visual::VisualParams*) override;
void preDrawScene(core::visual::VisualParams* vp) override;
bool drawScene(core::visual::VisualParams* vp) override;
void postDrawScene(core::visual::VisualParams* vp) override;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ void ClipPlane::reinit()
msg_error() << "Reiniting an invalid component is not allowed. It must be inited first" ;
}

void ClipPlane::fwdDraw(core::visual::VisualParams*)
void ClipPlane::doFwdDraw(core::visual::VisualParams*)
{
if(d_componentState.getValue() == ComponentState::Invalid)
return ;
Expand All @@ -90,7 +90,7 @@ void ClipPlane::fwdDraw(core::visual::VisualParams*)
}
}

void ClipPlane::bwdDraw(core::visual::VisualParams*)
void ClipPlane::doBwdDraw(core::visual::VisualParams*)
{
if (active.getValue())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,15 @@ class SOFA_GL_COMPONENT_RENDERING3D_API ClipPlane : public core::visual::VisualM
virtual sofa::core::objectmodel::ComponentState checkDataValues();
void init() override;
void reinit() override;
void fwdDraw(core::visual::VisualParams*) override;
void bwdDraw(core::visual::VisualParams*) override;

protected:
ClipPlane();
~ClipPlane() override;

void doFwdDraw(core::visual::VisualParams*) override;
void doBwdDraw(core::visual::VisualParams*) override;


GLboolean wasActive;
double saveEq[4];
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,16 @@ class SOFA_GL_COMPONENT_RENDERING3D_API DataDisplay : public core::visual::Visua
SingleLink <DataDisplay, sofa::core::topology::BaseMeshTopology, BaseLink::FLAG_STOREPATH | BaseLink::FLAG_STRONGLINK> l_topology;

void init() override;
void doDrawVisual(const core::visual::VisualParams* vparams) override;
void doUpdateVisual(const core::visual::VisualParams* vparams) override;

bool insertInNode( core::objectmodel::BaseNode* node ) override { Inherit1::insertInNode(node); Inherit2::insertInNode(node); return true; }
bool removeInNode( core::objectmodel::BaseNode* node ) override { Inherit1::removeInNode(node); Inherit2::removeInNode(node); return true; }

protected:
void computeNormals();
type::vector<type::Vec3> m_normals;

void doDrawVisual(const core::visual::VisualParams* vparams) override;
void doUpdateVisual(const core::visual::VisualParams* vparams) override;

DataDisplay();

Real m_oldMin, m_oldMax;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,15 @@ class SOFA_GL_COMPONENT_RENDERING3D_API OglModel : public sofa::component::visua
OglModel();

~OglModel() override;
void doInitVisual(const core::visual::VisualParams* vparams) override;

public:
void parse(core::objectmodel::BaseObjectDescription* arg) override;

bool loadTexture(const std::string& filename) override;
bool loadTextures() override;

void initTextures();
void doInitVisual(const core::visual::VisualParams* vparams) override;

void init() override { VisualModelImpl::init(); }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ class SOFA_GL_COMPONENT_RENDERING3D_API OglSceneFrame : public core::visual::Vis

OglSceneFrame();

protected:
void doDrawVisual(const core::visual::VisualParams*) override;

private:
Expand Down
Loading
Loading